Doctrine convention adherence leads to simpler entity classes, no picky join column specification. A standard bi-directional one-to-many join becomes simply:
The “One” Entity:
The “Many” Entity:
Nice and straight forward.
The getters & setters can be auto-generated with the following console commands:
$ php app/console doctrine:generate:entities AppBundle:Product
$ php app/console doctrine:generate:entities AppBundle:Feature
If desired, now is the time to add any Doctrine Events such as LifeCycle Callbacks, which we do manually until they get better integrated into Doctrine’s console generator commands.
After everything is added, it can be a good style convention to leave a few lines between the field declarations and member functions (including the constructor) as these are just boring plumbing, the field declarations should be the focus.