PHP Getters and Setters ======================= With PHP Getters and Setters you can automatically generate _Getters_ and _Setters_ for your php classes. Features: --------- * Generate Getters, Setters or Both * Can be applied to all class properties or just to a single one * Description, Type and Type Hinting automatically discovered from the variable docblock * fully customizable templates Usage Instruction: ------------------ 1. Generate PHP code ```php class test { /** * foo container * * @var AbcClass */ private $foo; } ``` 2. Go to Tools -> PHP Getters and Setter 3. Getter and Setter will be generated: ```php class test { /** * foo container * * @var AbcClass */ private $foo; /** * Gets the foo container. * * @return AbcClass */ public function getFoo() { return $this->foo; } /** * Sets the foo container. * * @param AbcClass $foo the foo */ private function _setFoo(AbcClass $foo) { $this->foo = $foo; return $this; } } ``` As you can see, if you go though the trouble of commenting your variables, the generated functions can be used without modification. This is an huge time saver! Usage ----- Commands available are: * Generate Getters and Setters * Generate Getter * Generate Setter * Generate Getter for... * Generate Setter for... These can be accessed via the context menu (right click on the source of any open PHP file) or the command palette. The currently open file *must* be a PHP file. Settings Reference ------------------ ### ignore_visibility _type_ : **boolean** _default_ : **false** _description_: ignore visibility for setters generation ### template _type_ : **string** _default_: **camelCaseFluent** _description_: the template to use ### type_hint_ignore _type_: **list of strings** _default_: **["mixed", "int","integer", "double", "float", "number", "string", "boolean", "bool", "numeric", "unknown"]** _description_: if the property has one of the types listed type hinting will not be used ### setter_before_getter _type_: **boolean** _default_: **false** _description_: Set to true to generate setter code before getters Creating your own template -------------------------- [package-dir] is your [package directory](http://docs.sublimetext.info/en/sublime-text-3/basic_concepts.html#the-packages-directory). * Make a directory called ```[package-dir]/PHP Getters and Setters```. * Put the following in a file at ```[package-dir]/PHP Getters and Setters/user_templates.py```. ```py from .plugin import BaseTemplate class MyTemplate(BaseTemplate): style = 'camelCase' # can also be snakeCase getter = """ /** * Gets the %(description)s. * * @return %(type)s */ public function get%(normalizedName)s() { return $this->%(name)s; } """ setter = """ /** * Sets the %(description)s. * * @param %(type)s $%(name)s the %(humanName)s * * @return self */ public function set%(normalizedName)s(%(typeHint)s $%(name)s) { $this->%(name)s = $%(name)s; } """ ``` * Edit the parts between setter and getter how you want. * Edit your user settings for this package: `Preferences > Package Settings > PHP Getters and Setters`. * Add the following settings ```jsonc { // the template used to generate code // Template class name without trailing `Template`. "template" : "My", } ``` * restart sublime to use the new template Credits ------- This package is forked from https://github.com/francodacosta/sublime-php-getters-setters