Transmission Line Noise

pro­pel

Sun, Feb 18, 2007

pro­pel

Pro­pel is an Object Rela­tional Map­ping (ORM) frame­work for PHP5. It allows you to access your data­base using a set of objects, pro­vid­ing a sim­ple API for stor­ing and retriev­ing data.

Pro­pel allows you, the web appli­ca­tion devel­oper, to work with data­bases in the same way you work with other classes and objects in PHP.

  • You don’t have to worry about data­base con­nec­tions or writ­ing SQL — unless you want to.
  • You never have to worry about escap­ing data or type-casting results (and here we just assume you don’t want to).
  • You define your data­base in a sim­ple XML for­mat — whether you’re using MySQL, Post­greSQL, MS SQL Server, etc. — and Pro­pel will cre­ate data­base ini­tial­iza­tion files for your data­base and will gen­er­ate sta­tic classes and objects that pro­vide an OO inter­face to your database.
  • You can also point Pro­pel at an exist­ing data­base and it will cre­ate the XML data­model for you.
  • Pro­pel can also gen­er­ate other use­ful data based on the XML data­model — for exam­ple, GraphViz dot files for gen­er­at­ing ERD diagrams.
  • Because Pro­pel uses code gen­er­a­tion, you don’t need to define your data­base struc­ture to your PHP script at run­time. All the gen­er­ated classes know about the struc­ture of your data­base and so there’s no per­for­mance lost to ini­tial­iza­tion or to on-the-fly data­base meta­data queries.