{"values": [{"type": "issue", "id": 4, "repository": {"type": "repository", "full_name": "bteryek/phpcodegen", "links": {"self": {"href": "https://api.bitbucket.org/2.0/repositories/bteryek/phpcodegen"}, "html": {"href": "https://bitbucket.org/bteryek/phpcodegen"}, "avatar": {"href": "https://bytebucket.org/ravatar/%7Bce60364a-c389-4cdd-9c8d-8e08e39fa024%7D?ts=python"}}, "name": "PhpCodeGen", "uuid": "{ce60364a-c389-4cdd-9c8d-8e08e39fa024}"}, "links": {"self": {"href": "https://api.bitbucket.org/2.0/repositories/bteryek/phpcodegen/issues/4"}, "html": {"href": "https://bitbucket.org/bteryek/phpcodegen/issues/4/user-config-not-being-respected"}, "comments": {"href": "https://api.bitbucket.org/2.0/repositories/bteryek/phpcodegen/issues/4/comments"}, "attachments": {"href": "https://api.bitbucket.org/2.0/repositories/bteryek/phpcodegen/issues/4/attachments"}, "watch": {"href": "https://api.bitbucket.org/2.0/repositories/bteryek/phpcodegen/issues/4/watch"}, "vote": {"href": "https://api.bitbucket.org/2.0/repositories/bteryek/phpcodegen/issues/4/vote"}}, "title": "User config not being respected", "content": {"type": "rendered", "raw": "I can't seem to be able to make the user config work, even when setting basic settings to false like `autoGenerateDockBlocks`, restarting Sublime etc, it still generates them.\r\n\r\n- ST3 3061\r\n- Mac OSX Mavericks\r\n- Installed from Package Control", "markup": "markdown", "html": "<p>I can't seem to be able to make the user config work, even when setting basic settings to false like <code>autoGenerateDockBlocks</code>, restarting Sublime etc, it still generates them.</p>\n<ul>\n<li>ST3 3061</li>\n<li>Mac OSX Mavericks</li>\n<li>Installed from Package Control</li>\n</ul>"}, "reporter": null, "assignee": null, "created_on": "2014-03-07T17:32:03.019661+00:00", "edited_on": null, "updated_on": "2014-03-07T17:37:11.795479+00:00", "state": "new", "kind": "bug", "milestone": null, "component": null, "priority": "major", "version": null, "votes": 0, "watches": 0}, {"type": "issue", "id": 3, "repository": {"type": "repository", "full_name": "bteryek/phpcodegen", "links": {"self": {"href": "https://api.bitbucket.org/2.0/repositories/bteryek/phpcodegen"}, "html": {"href": "https://bitbucket.org/bteryek/phpcodegen"}, "avatar": {"href": "https://bytebucket.org/ravatar/%7Bce60364a-c389-4cdd-9c8d-8e08e39fa024%7D?ts=python"}}, "name": "PhpCodeGen", "uuid": "{ce60364a-c389-4cdd-9c8d-8e08e39fa024}"}, "links": {"self": {"href": "https://api.bitbucket.org/2.0/repositories/bteryek/phpcodegen/issues/3"}, "html": {"href": "https://bitbucket.org/bteryek/phpcodegen/issues/3/unrelated-accessors-generated"}, "comments": {"href": "https://api.bitbucket.org/2.0/repositories/bteryek/phpcodegen/issues/3/comments"}, "attachments": {"href": "https://api.bitbucket.org/2.0/repositories/bteryek/phpcodegen/issues/3/attachments"}, "watch": {"href": "https://api.bitbucket.org/2.0/repositories/bteryek/phpcodegen/issues/3/watch"}, "vote": {"href": "https://api.bitbucket.org/2.0/repositories/bteryek/phpcodegen/issues/3/vote"}}, "title": "unrelated accessors generated", "content": {"type": "rendered", "raw": "upon generating accessors (get/set) for a variable defined as static, generated code issues a this (instance accessor pointer) instead of self (class accessor pointer), it is well know that static variables are not created in a per instance basis... consider php access rules on parsing or code generation....\r\nbest regards", "markup": "markdown", "html": "<p>upon generating accessors (get/set) for a variable defined as static, generated code issues a this (instance accessor pointer) instead of self (class accessor pointer), it is well know that static variables are not created in a per instance basis... consider php access rules on parsing or code generation....\nbest regards</p>"}, "reporter": {"display_name": "José Lima", "links": {"self": {"href": "https://api.bitbucket.org/2.0/users/%7B89e90b18-817f-42a2-8f2c-e679f33a8077%7D"}, "avatar": {"href": "https://secure.gravatar.com/avatar/4c0521fc0343ddec75ade0561be2a059?d=https%3A%2F%2Favatar-management--avatars.us-west-2.prod.public.atl-paas.net%2Finitials%2FJL-4.png"}, "html": {"href": "https://bitbucket.org/%7B89e90b18-817f-42a2-8f2c-e679f33a8077%7D/"}}, "type": "user", "uuid": "{89e90b18-817f-42a2-8f2c-e679f33a8077}", "account_id": "5b76dfcdf5df9b2b2b559142", "nickname": "janlima"}, "assignee": null, "created_on": "2013-12-15T16:56:01.407661+00:00", "edited_on": null, "updated_on": "2013-12-15T16:56:01.407661+00:00", "state": "new", "kind": "bug", "milestone": null, "component": null, "priority": "major", "version": null, "votes": 0, "watches": 1}, {"type": "issue", "id": 2, "repository": {"type": "repository", "full_name": "bteryek/phpcodegen", "links": {"self": {"href": "https://api.bitbucket.org/2.0/repositories/bteryek/phpcodegen"}, "html": {"href": "https://bitbucket.org/bteryek/phpcodegen"}, "avatar": {"href": "https://bytebucket.org/ravatar/%7Bce60364a-c389-4cdd-9c8d-8e08e39fa024%7D?ts=python"}}, "name": "PhpCodeGen", "uuid": "{ce60364a-c389-4cdd-9c8d-8e08e39fa024}"}, "links": {"self": {"href": "https://api.bitbucket.org/2.0/repositories/bteryek/phpcodegen/issues/2"}, "html": {"href": "https://bitbucket.org/bteryek/phpcodegen/issues/2/code-generation-fail"}, "comments": {"href": "https://api.bitbucket.org/2.0/repositories/bteryek/phpcodegen/issues/2/comments"}, "attachments": {"href": "https://api.bitbucket.org/2.0/repositories/bteryek/phpcodegen/issues/2/attachments"}, "watch": {"href": "https://api.bitbucket.org/2.0/repositories/bteryek/phpcodegen/issues/2/watch"}, "vote": {"href": "https://api.bitbucket.org/2.0/repositories/bteryek/phpcodegen/issues/2/vote"}}, "title": "Code generation fail", "content": {"type": "rendered", "raw": "Hello.\r\n\r\nI try your plugin, And I stubble upon few bugs:\r\n\r\n```\r\n<?php\r\n\r\n@class Plan\r\n@property -set -get id\r\n@property -set -get stripeReference\r\n@property -set -get name\r\n@property -set -get amount\r\n@property -set -get currency\r\n@property -set -get interval\r\n@property -set -get intervalCount\r\n@endClass\r\n```\r\n\r\nresult in:\r\n\r\n```\r\n<?php\r\n\r\nclass Plan \r\n{\r\n\r\n\r\n\r\n\r\n    private $id;\r\n\r\n\r\n\r\n    public function setId($value)\r\n    {\r\n        $this->id = $value;\r\n    }   public function getId()\r\n    {\r\n        return $this->id;\r\n    }\r\n@\r\n\r\n\r\n\r\n    private $stripeReference;\r\n\r\n\r\n\r\n    public function setStripeReference($value)\r\n    {\r\n        $this->stripeReference = $value;\r\n    }   public function getStripeReference()\r\n    {\r\n        return $this->stripeReference;\r\n    }@p\r\n\r\n\r\n\r\n    private $name;\r\n\r\n\r\n\r\n    public function setName($value)\r\n    {\r\n        $this->name = $value;\r\n    }   public function getName()\r\n    {\r\n        return $this->name;\r\n    }pr\r\n\r\n\r\n\r\n    private $amount;\r\n\r\n\r\n\r\n    public function setAmount($value)\r\n    {\r\n        $this->amount = $value;\r\n    }   public function getAmount()\r\n    {\r\n        return $this->amount;\r\n    }ro\r\n\r\n\r\n\r\n    private $currency;\r\n\r\n\r\n\r\n    public function setCurrency($value)\r\n    {\r\n        $this->currency = $value;\r\n    }   public function getCurrency()\r\n    {\r\n        return $this->currency;\r\n    }op\r\n\r\n\r\n\r\n    private $interval;\r\n\r\n\r\n\r\n    public function setInterval($value)\r\n    {\r\n        $this->interval = $value;\r\n    }   public function getInterval()\r\n    {\r\n        return $this->interval;\r\n    }pe\r\n\r\n\r\n\r\n    private $intervalCount;\r\n\r\n\r\n\r\n    public function setIntervalCount($value)\r\n    {\r\n        $this->intervalCount = $value;\r\n    }   public function getIntervalCount()\r\n    {\r\n        return $this->intervalCount;\r\n    }la\r\n}\r\n```\r\n\r\nWith the following configuration:\r\n\r\n```\r\n{\r\n    \"debugMode\": false,\r\n    \"autoGenerateDockBlocks\": false,\r\n\r\n    \"defaultMethodVisibility\": \"public\",\r\n    \"defaultPropertyVisibility\": \"private\",\r\n\r\n    \"openingCurlyBraceOnSameLine\": false,\r\n\r\n    \"newLinesAfterMethodDeclaration\": 1,\r\n    \"newLinesBeforeMethodClosingBrace\": 1,\r\n\r\n}\r\n```\r\n\r\nSo: \r\n\r\n* There are trace of code gen instruction in the result code (`@`, `la`, ...)\r\n* It is not possible to disable comment and have a nice code indentation \r\n* It could be nice if php code gen could first write all proporties, then methods, then getters / setters.\r\n\r\nAnyway, I don't know if you know http://www.php-fig.org/ but now, in PHP, the code formation is standardized. It could be nice if the default configuration is the same as the PHP FIG one.", "markup": "markdown", "html": "<p>Hello.</p>\n<p>I try your plugin, And I stubble upon few bugs:</p>\n<div class=\"codehilite\"><pre><span></span><code><span class=\"o\">&lt;?</span><span class=\"n\">php</span>\n\n<span class=\"k\">@class</span> <span class=\"nc\">Plan</span>\n<span class=\"k\">@property</span> <span class=\"o\">-</span><span class=\"n\">set</span> <span class=\"o\">-</span><span class=\"n\">get</span> <span class=\"kt\">id</span>\n<span class=\"k\">@property</span> <span class=\"o\">-</span><span class=\"n\">set</span> <span class=\"o\">-</span><span class=\"n\">get</span> <span class=\"n\">stripeReference</span>\n<span class=\"k\">@property</span> <span class=\"o\">-</span><span class=\"n\">set</span> <span class=\"o\">-</span><span class=\"n\">get</span> <span class=\"n\">name</span>\n<span class=\"k\">@property</span> <span class=\"o\">-</span><span class=\"n\">set</span> <span class=\"o\">-</span><span class=\"n\">get</span> <span class=\"n\">amount</span>\n<span class=\"k\">@property</span> <span class=\"o\">-</span><span class=\"n\">set</span> <span class=\"o\">-</span><span class=\"n\">get</span> <span class=\"n\">currency</span>\n<span class=\"k\">@property</span> <span class=\"o\">-</span><span class=\"n\">set</span> <span class=\"o\">-</span><span class=\"n\">get</span> <span class=\"n\">interval</span>\n<span class=\"k\">@property</span> <span class=\"o\">-</span><span class=\"n\">set</span> <span class=\"o\">-</span><span class=\"n\">get</span> <span class=\"n\">intervalCount</span>\n<span class=\"p\">@</span><span class=\"n\">endClass</span>\n</code></pre></div>\n\n<p>result in:</p>\n<div class=\"codehilite\"><pre><span></span><code><span class=\"cp\">&lt;?php</span>\n\n<span class=\"k\">class</span> <span class=\"nc\">Plan</span> \n<span class=\"p\">{</span>\n\n\n\n\n    <span class=\"k\">private</span> <span class=\"nv\">$id</span><span class=\"p\">;</span>\n\n\n\n    <span class=\"k\">public</span> <span class=\"k\">function</span> <span class=\"nf\">setId</span><span class=\"p\">(</span><span class=\"nv\">$value</span><span class=\"p\">)</span>\n    <span class=\"p\">{</span>\n        <span class=\"nv\">$this</span><span class=\"o\">-&gt;</span><span class=\"na\">id</span> <span class=\"o\">=</span> <span class=\"nv\">$value</span><span class=\"p\">;</span>\n    <span class=\"p\">}</span>   <span class=\"k\">public</span> <span class=\"k\">function</span> <span class=\"nf\">getId</span><span class=\"p\">()</span>\n    <span class=\"p\">{</span>\n        <span class=\"k\">return</span> <span class=\"nv\">$this</span><span class=\"o\">-&gt;</span><span class=\"na\">id</span><span class=\"p\">;</span>\n    <span class=\"p\">}</span>\n<span class=\"o\">@</span>\n\n\n\n    <span class=\"k\">private</span> <span class=\"nv\">$stripeReference</span><span class=\"p\">;</span>\n\n\n\n    <span class=\"k\">public</span> <span class=\"k\">function</span> <span class=\"nf\">setStripeReference</span><span class=\"p\">(</span><span class=\"nv\">$value</span><span class=\"p\">)</span>\n    <span class=\"p\">{</span>\n        <span class=\"nv\">$this</span><span class=\"o\">-&gt;</span><span class=\"na\">stripeReference</span> <span class=\"o\">=</span> <span class=\"nv\">$value</span><span class=\"p\">;</span>\n    <span class=\"p\">}</span>   <span class=\"k\">public</span> <span class=\"k\">function</span> <span class=\"nf\">getStripeReference</span><span class=\"p\">()</span>\n    <span class=\"p\">{</span>\n        <span class=\"k\">return</span> <span class=\"nv\">$this</span><span class=\"o\">-&gt;</span><span class=\"na\">stripeReference</span><span class=\"p\">;</span>\n    <span class=\"p\">}</span><span class=\"o\">@</span><span class=\"nx\">p</span>\n\n\n\n    <span class=\"k\">private</span> <span class=\"nv\">$name</span><span class=\"p\">;</span>\n\n\n\n    <span class=\"k\">public</span> <span class=\"k\">function</span> <span class=\"nf\">setName</span><span class=\"p\">(</span><span class=\"nv\">$value</span><span class=\"p\">)</span>\n    <span class=\"p\">{</span>\n        <span class=\"nv\">$this</span><span class=\"o\">-&gt;</span><span class=\"na\">name</span> <span class=\"o\">=</span> <span class=\"nv\">$value</span><span class=\"p\">;</span>\n    <span class=\"p\">}</span>   <span class=\"k\">public</span> <span class=\"k\">function</span> <span class=\"nf\">getName</span><span class=\"p\">()</span>\n    <span class=\"p\">{</span>\n        <span class=\"k\">return</span> <span class=\"nv\">$this</span><span class=\"o\">-&gt;</span><span class=\"na\">name</span><span class=\"p\">;</span>\n    <span class=\"p\">}</span><span class=\"nx\">pr</span>\n\n\n\n    <span class=\"k\">private</span> <span class=\"nv\">$amount</span><span class=\"p\">;</span>\n\n\n\n    <span class=\"k\">public</span> <span class=\"k\">function</span> <span class=\"nf\">setAmount</span><span class=\"p\">(</span><span class=\"nv\">$value</span><span class=\"p\">)</span>\n    <span class=\"p\">{</span>\n        <span class=\"nv\">$this</span><span class=\"o\">-&gt;</span><span class=\"na\">amount</span> <span class=\"o\">=</span> <span class=\"nv\">$value</span><span class=\"p\">;</span>\n    <span class=\"p\">}</span>   <span class=\"k\">public</span> <span class=\"k\">function</span> <span class=\"nf\">getAmount</span><span class=\"p\">()</span>\n    <span class=\"p\">{</span>\n        <span class=\"k\">return</span> <span class=\"nv\">$this</span><span class=\"o\">-&gt;</span><span class=\"na\">amount</span><span class=\"p\">;</span>\n    <span class=\"p\">}</span><span class=\"nx\">ro</span>\n\n\n\n    <span class=\"k\">private</span> <span class=\"nv\">$currency</span><span class=\"p\">;</span>\n\n\n\n    <span class=\"k\">public</span> <span class=\"k\">function</span> <span class=\"nf\">setCurrency</span><span class=\"p\">(</span><span class=\"nv\">$value</span><span class=\"p\">)</span>\n    <span class=\"p\">{</span>\n        <span class=\"nv\">$this</span><span class=\"o\">-&gt;</span><span class=\"na\">currency</span> <span class=\"o\">=</span> <span class=\"nv\">$value</span><span class=\"p\">;</span>\n    <span class=\"p\">}</span>   <span class=\"k\">public</span> <span class=\"k\">function</span> <span class=\"nf\">getCurrency</span><span class=\"p\">()</span>\n    <span class=\"p\">{</span>\n        <span class=\"k\">return</span> <span class=\"nv\">$this</span><span class=\"o\">-&gt;</span><span class=\"na\">currency</span><span class=\"p\">;</span>\n    <span class=\"p\">}</span><span class=\"nx\">op</span>\n\n\n\n    <span class=\"k\">private</span> <span class=\"nv\">$interval</span><span class=\"p\">;</span>\n\n\n\n    <span class=\"k\">public</span> <span class=\"k\">function</span> <span class=\"nf\">setInterval</span><span class=\"p\">(</span><span class=\"nv\">$value</span><span class=\"p\">)</span>\n    <span class=\"p\">{</span>\n        <span class=\"nv\">$this</span><span class=\"o\">-&gt;</span><span class=\"na\">interval</span> <span class=\"o\">=</span> <span class=\"nv\">$value</span><span class=\"p\">;</span>\n    <span class=\"p\">}</span>   <span class=\"k\">public</span> <span class=\"k\">function</span> <span class=\"nf\">getInterval</span><span class=\"p\">()</span>\n    <span class=\"p\">{</span>\n        <span class=\"k\">return</span> <span class=\"nv\">$this</span><span class=\"o\">-&gt;</span><span class=\"na\">interval</span><span class=\"p\">;</span>\n    <span class=\"p\">}</span><span class=\"nx\">pe</span>\n\n\n\n    <span class=\"k\">private</span> <span class=\"nv\">$intervalCount</span><span class=\"p\">;</span>\n\n\n\n    <span class=\"k\">public</span> <span class=\"k\">function</span> <span class=\"nf\">setIntervalCount</span><span class=\"p\">(</span><span class=\"nv\">$value</span><span class=\"p\">)</span>\n    <span class=\"p\">{</span>\n        <span class=\"nv\">$this</span><span class=\"o\">-&gt;</span><span class=\"na\">intervalCount</span> <span class=\"o\">=</span> <span class=\"nv\">$value</span><span class=\"p\">;</span>\n    <span class=\"p\">}</span>   <span class=\"k\">public</span> <span class=\"k\">function</span> <span class=\"nf\">getIntervalCount</span><span class=\"p\">()</span>\n    <span class=\"p\">{</span>\n        <span class=\"k\">return</span> <span class=\"nv\">$this</span><span class=\"o\">-&gt;</span><span class=\"na\">intervalCount</span><span class=\"p\">;</span>\n    <span class=\"p\">}</span><span class=\"nx\">la</span>\n<span class=\"p\">}</span>\n</code></pre></div>\n\n<p>With the following configuration:</p>\n<div class=\"codehilite\"><pre><span></span><code>{\n    &quot;debugMode&quot;: false,\n    &quot;autoGenerateDockBlocks&quot;: false,\n\n    &quot;defaultMethodVisibility&quot;: &quot;public&quot;,\n    &quot;defaultPropertyVisibility&quot;: &quot;private&quot;,\n\n    &quot;openingCurlyBraceOnSameLine&quot;: false,\n\n    &quot;newLinesAfterMethodDeclaration&quot;: 1,\n    &quot;newLinesBeforeMethodClosingBrace&quot;: 1,\n\n}\n</code></pre></div>\n\n<p>So: </p>\n<ul>\n<li>There are trace of code gen instruction in the result code (<code>@</code>, <code>la</code>, ...)</li>\n<li>It is not possible to disable comment and have a nice code indentation </li>\n<li>It could be nice if php code gen could first write all proporties, then methods, then getters / setters.</li>\n</ul>\n<p>Anyway, I don't know if you know http://www.php-fig.org/ but now, in PHP, the code formation is standardized. It could be nice if the default configuration is the same as the PHP FIG one.</p>"}, "reporter": {"display_name": "lyrixx", "links": {"self": {"href": "https://api.bitbucket.org/2.0/users/%7B586a6f5e-7ab0-4247-818f-ff22fd26fce3%7D"}, "avatar": {"href": "https://secure.gravatar.com/avatar/7602f2751868682b296171f58589c851?d=https%3A%2F%2Favatar-management--avatars.us-west-2.prod.public.atl-paas.net%2Finitials%2FL-1.png"}, "html": {"href": "https://bitbucket.org/%7B586a6f5e-7ab0-4247-818f-ff22fd26fce3%7D/"}}, "type": "user", "uuid": "{586a6f5e-7ab0-4247-818f-ff22fd26fce3}", "account_id": "557058:d8d8224d-d7ef-4a5f-8bf3-06a10c237cf5", "nickname": "lyrixx"}, "assignee": {"display_name": "B T", "links": {"self": {"href": "https://api.bitbucket.org/2.0/users/%7B3e9b7fbb-6c1a-4570-9c46-a3f43f704e35%7D"}, "avatar": {"href": "https://avatar-management--avatars.us-west-2.prod.public.atl-paas.net/557058:e8cfd43a-5628-4e97-b07f-d87a9ef9e8ce/bd984578-2b76-449f-9e2b-31452df17a9c/128"}, "html": {"href": "https://bitbucket.org/%7B3e9b7fbb-6c1a-4570-9c46-a3f43f704e35%7D/"}}, "type": "user", "uuid": "{3e9b7fbb-6c1a-4570-9c46-a3f43f704e35}", "account_id": "557058:e8cfd43a-5628-4e97-b07f-d87a9ef9e8ce", "nickname": "bteryek"}, "created_on": "2013-10-22T09:32:13.605654+00:00", "edited_on": null, "updated_on": "2013-10-22T14:38:42.848390+00:00", "state": "new", "kind": "bug", "milestone": null, "component": null, "priority": "major", "version": null, "votes": 0, "watches": 2}, {"type": "issue", "id": 1, "repository": {"type": "repository", "full_name": "bteryek/phpcodegen", "links": {"self": {"href": "https://api.bitbucket.org/2.0/repositories/bteryek/phpcodegen"}, "html": {"href": "https://bitbucket.org/bteryek/phpcodegen"}, "avatar": {"href": "https://bytebucket.org/ravatar/%7Bce60364a-c389-4cdd-9c8d-8e08e39fa024%7D?ts=python"}}, "name": "PhpCodeGen", "uuid": "{ce60364a-c389-4cdd-9c8d-8e08e39fa024}"}, "links": {"self": {"href": "https://api.bitbucket.org/2.0/repositories/bteryek/phpcodegen/issues/1"}, "html": {"href": "https://bitbucket.org/bteryek/phpcodegen/issues/1/st3-generation-of-code-failing"}, "comments": {"href": "https://api.bitbucket.org/2.0/repositories/bteryek/phpcodegen/issues/1/comments"}, "attachments": {"href": "https://api.bitbucket.org/2.0/repositories/bteryek/phpcodegen/issues/1/attachments"}, "watch": {"href": "https://api.bitbucket.org/2.0/repositories/bteryek/phpcodegen/issues/1/watch"}, "vote": {"href": "https://api.bitbucket.org/2.0/repositories/bteryek/phpcodegen/issues/1/vote"}}, "title": "ST3 - Generation of code failing", "content": {"type": "rendered", "raw": "Based on the starting code:\r\n\r\n\r\n```\r\n#!php\r\n\r\n<?php\r\n@class User\r\n@property -t string -get -set name\r\n@property -t DateTime -get -set birthday\r\n@endClass\r\n\r\n```\r\n\r\nThe resulting generated code is:\r\n\r\n\r\n```\r\n#!php\r\n\r\n<?php\r\n\r\n\r\n/**\r\n * User\r\n */\r\n\r\nclass User {\r\n\r\n    /**\r\n     * name\r\n     * @var string\r\n     */\r\n\r\n    protected $name;\r\n\r\n    /**\r\n     * setName\r\n     * @param $value\r\n     * @return void\r\n     */\r\n\r\n    public function setName($value) {\r\n\r\n        $this->name = $value;\r\n\r\n    }\r\n\r\n    /**\r\n     * getName\r\n     * @return string\r\n     */\r\n\r\n  \r\n    /**\r\n     * birthday\r\n     * @var DateTime\r\n     */\r\n\r\n    protected $birthday;\r\n\r\n    /**\r\n     * setBirthday\r\n     * @param DateTime $value\r\n     * @return void\r\n     */\r\n\r\n    public function setBirthday(DateTime $value) {\r\n\r\n        $this->birthday = $value;\r\n\r\n    }\r\n\r\n    /**\r\n     * getBirthday\r\n     * @return DateTime\r\n     */\r\n\r\n    public\r\n} getBirthday() {\r\n\r\n        return $this->birthday;\r\n\r\n    }eturn $this->name;\r\n\r\n    }\r\n@property -t DateTime -get -set birthday\r\n@endClass\r\n\r\n\r\n```", "markup": "markdown", "html": "<p>Based on the starting code:</p>\n<div class=\"codehilite language-php\"><pre><span></span><code><span class=\"cp\">&lt;?php</span>\n<span class=\"o\">@</span><span class=\"k\">class</span> <span class=\"nc\">User</span>\n<span class=\"o\">@</span><span class=\"nx\">property</span> <span class=\"o\">-</span><span class=\"nx\">t</span> <span class=\"nx\">string</span> <span class=\"o\">-</span><span class=\"nx\">get</span> <span class=\"o\">-</span><span class=\"nx\">set</span> <span class=\"nx\">name</span>\n<span class=\"o\">@</span><span class=\"nx\">property</span> <span class=\"o\">-</span><span class=\"nx\">t</span> <span class=\"nx\">DateTime</span> <span class=\"o\">-</span><span class=\"nx\">get</span> <span class=\"o\">-</span><span class=\"nx\">set</span> <span class=\"nx\">birthday</span>\n<span class=\"o\">@</span><span class=\"nx\">endClass</span>\n</code></pre></div>\n\n<p>The resulting generated code is:</p>\n<div class=\"codehilite language-php\"><pre><span></span><code><span class=\"cp\">&lt;?php</span>\n\n\n<span class=\"sd\">/**</span>\n<span class=\"sd\"> * User</span>\n<span class=\"sd\"> */</span>\n\n<span class=\"k\">class</span> <span class=\"nc\">User</span> <span class=\"p\">{</span>\n\n    <span class=\"sd\">/**</span>\n<span class=\"sd\">     * name</span>\n<span class=\"sd\">     * @var string</span>\n<span class=\"sd\">     */</span>\n\n    <span class=\"k\">protected</span> <span class=\"nv\">$name</span><span class=\"p\">;</span>\n\n    <span class=\"sd\">/**</span>\n<span class=\"sd\">     * setName</span>\n<span class=\"sd\">     * @param $value</span>\n<span class=\"sd\">     * @return void</span>\n<span class=\"sd\">     */</span>\n\n    <span class=\"k\">public</span> <span class=\"k\">function</span> <span class=\"nf\">setName</span><span class=\"p\">(</span><span class=\"nv\">$value</span><span class=\"p\">)</span> <span class=\"p\">{</span>\n\n        <span class=\"nv\">$this</span><span class=\"o\">-&gt;</span><span class=\"na\">name</span> <span class=\"o\">=</span> <span class=\"nv\">$value</span><span class=\"p\">;</span>\n\n    <span class=\"p\">}</span>\n\n    <span class=\"sd\">/**</span>\n<span class=\"sd\">     * getName</span>\n<span class=\"sd\">     * @return string</span>\n<span class=\"sd\">     */</span>\n\n\n    <span class=\"sd\">/**</span>\n<span class=\"sd\">     * birthday</span>\n<span class=\"sd\">     * @var DateTime</span>\n<span class=\"sd\">     */</span>\n\n    <span class=\"k\">protected</span> <span class=\"nv\">$birthday</span><span class=\"p\">;</span>\n\n    <span class=\"sd\">/**</span>\n<span class=\"sd\">     * setBirthday</span>\n<span class=\"sd\">     * @param DateTime $value</span>\n<span class=\"sd\">     * @return void</span>\n<span class=\"sd\">     */</span>\n\n    <span class=\"k\">public</span> <span class=\"k\">function</span> <span class=\"nf\">setBirthday</span><span class=\"p\">(</span><span class=\"nx\">DateTime</span> <span class=\"nv\">$value</span><span class=\"p\">)</span> <span class=\"p\">{</span>\n\n        <span class=\"nv\">$this</span><span class=\"o\">-&gt;</span><span class=\"na\">birthday</span> <span class=\"o\">=</span> <span class=\"nv\">$value</span><span class=\"p\">;</span>\n\n    <span class=\"p\">}</span>\n\n    <span class=\"sd\">/**</span>\n<span class=\"sd\">     * getBirthday</span>\n<span class=\"sd\">     * @return DateTime</span>\n<span class=\"sd\">     */</span>\n\n    <span class=\"k\">public</span>\n<span class=\"p\">}</span> <span class=\"nx\">getBirthday</span><span class=\"p\">()</span> <span class=\"p\">{</span>\n\n        <span class=\"k\">return</span> <span class=\"nv\">$this</span><span class=\"o\">-&gt;</span><span class=\"na\">birthday</span><span class=\"p\">;</span>\n\n    <span class=\"p\">}</span><span class=\"nx\">eturn</span> <span class=\"nv\">$this</span><span class=\"o\">-&gt;</span><span class=\"na\">name</span><span class=\"p\">;</span>\n\n    <span class=\"p\">}</span>\n<span class=\"o\">@</span><span class=\"nx\">property</span> <span class=\"o\">-</span><span class=\"nx\">t</span> <span class=\"nx\">DateTime</span> <span class=\"o\">-</span><span class=\"nx\">get</span> <span class=\"o\">-</span><span class=\"nx\">set</span> <span class=\"nx\">birthday</span>\n<span class=\"o\">@</span><span class=\"nx\">endClass</span>\n</code></pre></div>"}, "reporter": {"display_name": "Iván N Paz", "links": {"self": {"href": "https://api.bitbucket.org/2.0/users/%7B2be86938-d319-4b6e-a8cc-81e0071745c2%7D"}, "avatar": {"href": "https://secure.gravatar.com/avatar/7e480541486816c39252645293cabcb1?d=https%3A%2F%2Favatar-management--avatars.us-west-2.prod.public.atl-paas.net%2Finitials%2FIP-2.png"}, "html": {"href": "https://bitbucket.org/%7B2be86938-d319-4b6e-a8cc-81e0071745c2%7D/"}}, "type": "user", "uuid": "{2be86938-d319-4b6e-a8cc-81e0071745c2}", "account_id": "557058:9228895e-3f76-4f1f-bf4b-a5bbb7aa0157", "nickname": "inpaz"}, "assignee": null, "created_on": "2013-09-04T08:14:46.131987+00:00", "edited_on": null, "updated_on": "2013-09-05T03:32:29.266082+00:00", "state": "resolved", "kind": "bug", "milestone": null, "component": null, "priority": "major", "version": null, "votes": 0, "watches": 2}], "pagelen": 20, "size": 4, "page": 1}