|
|
Warning!It seems that you are using an anti-advertisement software like AdBlock. CoolSoft can exists thanks to a few banners and no popups. Thanks for your help. |
![]() |
Reply to comment
How to make Symfony/Doctrine generate accessors
I'm using Symfony for a big project; after a little research I choosed Doctrine as database access layer, since is more configurable (and modern) then Propel.
I use Eclipse 3.4 and PDT as IDE, mostly because of its great Code Assist feature (CA is Intellisense for VisualStudio users...).
Well, after a bit I found that Doctrine class generator misses to generate column accessors (getters and setters) and relies on PHP __get and __set magic accessors.
Suppose you have an user table, Doctrine generates an User class for you and you can access columns of a single record through its properties, like this:
$a = new User(); $a = $user->getUsername(); $user->setUsername('foo');
Since getUsername() and setUsername() are not real properties, Doctrine lets you access them through __get and __set.
Even if this works, IDEs like Eclipse can't help you writing code because they don't know what properties are defined on User class (except the ones of the class it extends, but they are generic and not related to users table).
Searching through Doctrine documentation, it seems that there should be a generateAccessor option of Doctrine builder which should do the trick; you'll quickly find that this option only exists but is not implemented.
Here you are my solution: a patch for Doctrine builder to add missing accessors generator.
Download the attached file and overwrite the existing one here:
/lib/symfony/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Import/Builder.php
NOTE: this patch applies to Doctrine builder included in both Symfony 1.2.2 and Symfony 1.2.4 version.
Feel free to comment my patch...
| Attachment | Size |
|---|---|
| Symfony_1_2_2_Doctrine_Builder_patch.zip | 7.22 KB |


