Bibliotheken
Bij het ontwikkelen van deze software heb ik diverse bibliotheken en hulpprogramma's gebruikt. Als overkoepelend
framework wordt Symfony gebruikt. Als verbinding tussen de
database en Symfony gebruik ik Propel.
Symfony
Propel
Als verbinding met de database kan door Symfony Doctrine en Propel gebruikt worden. Standaard is hier Doctrine. Ik
heb echter besloten, i.p.v. Doctrine Propel te gebruiken, omdat bij vergelijken geen van de twee als duidelijke
winnaar uit de bus komt (het lijkt meer op een religieus vraagstuk). Één van de voordelen van Propel is de betere
ondersteuning door ontwikkelingsomgevingen, in het bijzonder een werkende auto-completering. Verder wordt bij
vergelijken vaak geschreven, dat het eenvoudiger is Propel te leren, omdat er minder "magie achter de schermen"
gebeurt. Daarom heb ik besloten, Propel te gebruiken.
Hulpprogramma's
Eclipse
Deze gehele software is onder Eclipse PDT ontwikkelt.
Datenbankmodellering
De databse heb ik met het grafische programma MySQL Workbench ontwikkelt.
Convertering van de database naar Propel
Propel gebruikt een XML-bestand als beschrijving van de database. Uit dit bestand worden zowel de SQL-commando's voor
het creëren van de database als ook de PHP-objecten gegenereerd. Dit bestand kan met de hand gemaakt worden, maar het
is eenvoudiger en foutlozer dit automatisch uit het MySQL Workbench file te genereren. Hiervoor gebruikt ik de
mysql-workbench-schema-exporter.
Met het volgende commando kan het Workbench-bestand naar een Propel-schema omgezet worden:
php cli/export.php --export=propel1-xml database.mwb
Dit genereerd het bestand vereniging.schema.xml, dat door Propel gelezen kan worden. Voordat Propel dit bestand kan
gebruiken, moet in de regel <database ... nog het element
namespace="vereniging" ingevoegd worden.
|