dutch german
  Main page Projects Electronics Building furniture Recipies Corgies About me
  Projects Charger-mount Vereniging 2.0
Vereniging 2.0


For the development of this software I use various libraries and tools. As overall framework Symfony is used. As connection between Symfony and the database I use Propel.



To connect to a database in Symfony one can use Doctrine and Propel. By default doctrine is used. I decided against Doctrine in favour of Propel, since when both are compares none is clearly better (it almost seems to be more of a religious dispute). One of the advantages of Propel seems to be the better support in developent entvironments, especially the auto completion. Furthermore the comparisons often say that is is easier to lern Propel, since there is less "magic behind the scenes". This is why I have decided to used Propel.



The entire software has been developed using Eclipse PDT.

Database modeling

For the development of the database I used the graphical tool MySQL Workbench.

Conversion of the database to Propel

Propel uses an XML-file as description of the database. From this file Propel generates both the SQL statements to create the database and the PHP objects. While the can be created by hand, it is more convenient and less prone to errors to generate this automatically from the MySQL Workbench file. I use the mysql-workbench-schema-exporter to do this. With the following command the Workbench file is converted into the Propel schema file:

php cli/export.php --export=propel1-xml database.mwb

This generates the file vereniging.schema.xml, which can be read by Propel. Before Propel can use this file, you have to insert the property namespace="vereniging" into the line <database ....

Valid XHTML 1.0 Transitional
Valid CSS!
05.12.2012 16:13u