- Using POG with Flex
- Optimizing your web application
- Regenerating large objects
- PHP4 or PHP5
- New and Improved
- Evolution of a cube
- POG Museum
- POG 3.0 alpha
- Initial Performance results Part 2
- Initial performance results
- Proposal: POG 3.0 object model
- Suggest a feature
- A new year, A new POG release
- Many-Many relations
- POG 2.5 Released
- POG 2.5 beta
- Automatic table alignment
- New version: 2.1.2 released
- RSS should work well now
- RSS feed glitches
- What's new in 2.1.0
- PHP Objects 2.1.0 (preview)
- PHP Object relations FAQ
- PHP Object Relations
- Searching base64 encoded text
- How to debug POG-generated objects
- POG UI Tips
- Featuring Of Interest links
- PHP CRUD
- POG 2.0.1: A better code generator
- A look at the POG SOAP API
- POG 2.0.0 released
- Coming soon: Generate parent-child objects
- Generated abstraction v/s dynamic abstraction
- Zend Framework preview
- Coming soon: Generate Objects through SOAP
- Easily save images and files to a database
- PHP, Paypal & POG
- Five advanced Code Generator tips
- PHP Pagination using generated objects
- PHP Code Generator benchmarks
- Representing database objects using an AJAX Tree interface
- Using SETUP in a production environment
- Description of the generated object package
- Introducing PHP Object Generator version 1.6
- Using AJAX and PHP Object Generator
- When to use Object->SaveNew()
- Generating PHP objects in 2006
- Happy Holidays
- A short video of the POG Setup process
- A sneak peek at POG 1.6
- POG Tip: Field limits
- Previous versions.
- Searching the blog and tutorials sections
- Generating code with "Other" SQL data types
- Five general POG tips
- POG source code locations
- Microsoft SQL 2005 Express Edition
- Impatiently awaiting PHP 5.1 and PDO
- Php Object Generator goes open source
- POG generates PDO compatible code
- Oracle to offer free database
- POG Google group
- Database Wrappers and POG
- The generator blog
- An explanation of the 'Escape' function.
- Mirror, mirror
- Using POG to solve real world problems
- A php object-relational database tool
- A simple and flexible Object Oriented approach to PHP
Back to the Code Generator
The POG Google group
The POG tutorials/code samples
The POG mirror site
The main feature which sets POG apart from other popular object database libraries is that POG generates specific code which allows developers to think of their entire application in terms of objects. On the other hand, the dynamic approach involves using a generic database wrapper which translates given table structures into objects. ActiveRecord, etc are popular libraries which implement this second approach.
Both have their pros and cons, but here’s why we like our approach better:
Speed. Because POG generates specific objects that map to tables in your database, the generated code has already been pre-processed so that the minimum amount of logic is required at run-time. For example, when you call object -> Save(), the POG generated object knows exactly what query to execute. On the other hand, a dynamic wrapper has to calculate and generate sql queries on the fly each time an operation is requested, making the entire process slower.
Objects are master. In the POG school of thought, Objects are the masters and the database is the slave. This differs from the dynamic approach where the database is the master and the objects merely reflect the database schema. While this difference may seem trivial, it underlines our belief that the application should make the rules, not the database. This point is analogous to another popular debate: stored procedures v/s application logic. But we won’t get into that today.
Easier to debug. Once your objects have been generated, they are ‘independent’ and are not affected by the library anymore. The objects are self-sufficient. If you decide to change the way code is generated, it will only affect future objects.
No strings attached. POG generates stand-alone objects. You don’t need to download, learn an entire framework, read pages of API documentation. How you choose to use the generated objects is up to you.
Now, keep in mind that these arguments could also be presented the other way round. So we’re not saying “POG is the solution and that’s the end of it”. Our arguments merely explain what we believe are the advantages POG has over other object – database libraries.
On that note, here’s a humorous article about why frameworks are evil that we’ve stumbled across recently.
This is a weblog about the Php Object Generator (POG) project, OO PHP, databases and Php code generators in general.
Php Object Generator, (POG) is an open source PHP code generator which automatically generates clean & tested Object Oriented code for your PHP4/PHP5 application.
Subscribe to our RSS feed
Feedback, Feature Requests, Bugs to:
The POG Google group
Send us a Hello through email