Previously on the blog
RSS feed
  1. Using POG with Flex
  2. Optimizing your web application
  3. Regenerating large objects
  4. PHP4 or PHP5
  5. New and Improved
  6. Evolution of a cube
  7. POG Museum
  8. POG 3.0 alpha
  9. Initial Performance results Part 2
  10. Initial performance results
  11. Proposal: POG 3.0 object model
  12. Suggest a feature
  13. A new year, A new POG release
  14. Many-Many relations
  15. POG 2.5 Released
  16. POG 2.5 beta
  17. Automatic table alignment
  18. New version: 2.1.2 released
  19. RSS should work well now
  20. RSS feed glitches
  21. What's new in 2.1.0
  22. PHP Objects 2.1.0 (preview)
  23. PHP Object relations FAQ
  24. PHP Object Relations
  25. Searching base64 encoded text
  26. How to debug POG-generated objects
  27. POG UI Tips
  28. Featuring Of Interest links
  29. PHP CRUD
  30. POG 2.0.1: A better code generator
  31. A look at the POG SOAP API
  32. POG 2.0.0 released
  33. Coming soon: Generate parent-child objects
  34. Generated abstraction v/s dynamic abstraction
  35. Zend Framework preview
  36. Coming soon: Generate Objects through SOAP
  37. Easily save images and files to a database
  38. PHP, Paypal & POG
  39. Five advanced Code Generator tips
  40. PHP Pagination using generated objects
  41. PHP Code Generator benchmarks
  42. Representing database objects using an AJAX Tree interface
  43. Using SETUP in a production environment
  44. Description of the generated object package
  45. Introducing PHP Object Generator version 1.6
  46. Using AJAX and PHP Object Generator
  47. When to use Object->SaveNew()
  48. Generating PHP objects in 2006
  49. Happy Holidays
  50. A short video of the POG Setup process
  51. A sneak peek at POG 1.6
  52. POG Tip: Field limits
  53. Previous versions.
  54. Searching the blog and tutorials sections
  55. Generating code with "Other" SQL data types
  56. Five general POG tips
  57. POG source code locations
  58. Microsoft SQL 2005 Express Edition
  59. Impatiently awaiting PHP 5.1 and PDO
  60. Php Object Generator goes open source
  61. POG generates PDO compatible code
  62. Oracle to offer free database
  63. POG Google group
  64. Database Wrappers and POG
  65. Revisions
  66. The generator blog
  67. An explanation of the 'Escape' function.
  68. Mirror, mirror
  69. Using POG to solve real world problems
  70. A php object-relational database tool
  71. A simple and flexible Object Oriented approach to PHP

Want more Php Object Generator?
Back to the Code Generator
The POG Google group
The POG tutorials/code samples
The POG mirror site

Coming soon: Generate parent-child objects

written 4862 days ago

A couple weeks ago, we announced that POG 2.0 will allow medium-advanced programmers to generate POG objects programmatically through a SOAP web-service.

There’s also a 2nd important feature which has been implemented in POG 2.0 and we’d like to talk about it in this post: Generation of parent(s)-child(ren) objects. This has been a much demanded feature for a while now, and we’re very happy to finally provide a solution.

As usual, our focus has been to implement the cleanest, simplest and most elegant solution possible and this is what it boils down to:

Preserving POG’s simplicity
One of POG’s core strengths is its simplicity and almost-zero learning curve. And the reason behind this simplicity is that generated objects only have 5 essential CRUD methods: Save, SaveNew, Delete, Get and GetList.

POG 2.0 preserves this simplicity by generating parent-child code only when it is requested. That is, if you choose not to “connect” your objects upon generation, the objects generated in POG 2.0 will be exactly identical to POG 1.6 or any other prior version.

Moreover, when objects are connected, POG generates the minimum amount of code possible to keep your objects small and easy to maintain:

Parent – Child relationships
POG 2.0 allows you to generate objects that are related to other objects. We’ve added 2 new attribute types which can be assigned to your object attributes: Child and Parent.

Let’s say you intend to generate 2 objects: Author and Book. When you’re defining the Author object, simply add ‘Book’ as one of its attributes and assign the attribute type ‘Child’ to it. This tells POG that Author is a parent object and will be connected to a Book object. Next, while defining the Book object, add ‘Author’ as one of the attributes and assign the attribute type ‘Parent’ to it.
You’ve essentially connected two objects. Pretty simple, no?

The assumption here is that the developer is responsible for generating the correct relations because we wanted POG to remain stateless and didn’t want to over-complicate the UI. So for instance, if a developer generates an Author object and assigns a Book object as child, then he/she needs to generate a Book object and assign Author as parent. POG does not enforce any rules upon generation and will not tell the developer what he/she needs to do.

So, what does the developer get at the end of all this? The added benefits of generating code relations is that POG generates additional helper methods that accelerate web development even more. The following is a summary of the exact benefits:

Parent Object
The developer can simply call Object -> Save() and all the children associated with that object will be saved recursively.

Allows recursive deletion of children objects. For example, calling Delete(deep) on an Author object will also delete all the Book objects associated with that author from the database.

Associates a child object to the parent object.

Retrieves all children associated with parent object.

Child Object
Associates a parent object to the child object

Returns the parent object associated with the child object

Note that a developer can very well manually implement relations between objects and could implement the same type of functions. As with the 5 essential CRUD methods, POG simply generates the above list of Relations function to accelerate development even more.

We’ll soon create We’ve created a PDF document which explains how to use the Relations functions along with code samples and we’ll add added it to our tutorials section

POG 2.0 will be released around April 1st 2006. In the meantime, you can find a preview at

u should put this thing in tutorial part in the front.


hebiryu    Sep 18, 12:19 AM    #

  Textile Help
About Php Object Generator
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