website stat

Pushing PHP towards Enterprise!

Here are some interesting tools that shrink the distance between PHP and real Enterprise systems. They help not only the programmer but whoever does the mantaince and updates the code. Also, they provide simplicity in accomplishing complex tasks which are quite common on the enterprise field.

The first one is the same as Java Hibernate and it’s called DataObjects (it is part of the PEAR framework). These tools allow, among plenty of other things, to map relational databases into objects. This means that one could update a table’s row by changing an object’s attribute

ie, objectInstance.setName("Mario");

A lot more can be done, but you got the point.

The other tool is PEAR DB, also part of the PEAR framework, that abstracts the database layer, providing the same functions for whatever database you’re using. PHP has one set of functions for each database and different ways of handling it which poses a problem when you need to change a database (which should be completely transparent to the application/code). While using PEAR DB changing the database is, with some exceptions, a matter of setting an attribute.


3 Responses to “Pushing PHP towards Enterprise!”

  1. David Ramalho
    Published at December 4th, 2005 at 7:31 pm

    Not a great fan of DB_DataObject, try one I mentionend (http://songo.blackorange.pt/blog/?p=120) , also, PDO is working now, no need for Pear::DB ;)

  2. Joel Alexandre
    Published at December 5th, 2005 at 12:07 am

    There’s also php on trax

  3. Personal Bytes » Blog Archive » Zend PHP Framework
    Published at December 6th, 2005 at 2:27 am

    […] They have done serious advances. To start off, they provide several important components. To name a few: ZAtom, ZRSS, ZAjax, ZActiveRecord (Hibernate, DataObjects, etc..), ZRest, ZSoap, among others. They’re also really compromised in extending PHP’s OO capabilities. The idea is to extend their classes (as in inheritance). Also, every single error raised throws an exception which provides a much clearer way to handle errors between layers. […]