Php Object Generator Tutorials
  1. Introduction to POG
  2. Setting up PHP, MySQL etc.
  3. Designing your objects
  4. Generating your code
  5. Description of the generated code
  6. Edit configuration file
  7. The Setup Process
  8. Using the code: Save()
  9. Using the code: Get()
  10. Using the code: SaveNew()
  11. Using the code: GetList()
  12. Using the code: Delete()
  13. Using the code: DeleteList()
  14. Advanced: object relations
  15. Advanced: Set{Parent}()
  16. Advanced: Get{Parent}()
  17. Advanced: Add{Child}()
  18. Advanced: Get{Child}List()
  19. Advanced: Save(deep)
  20. Advanced: Delete(deep)
  21. Advanced: Add{Sibling}()
  22. Advanced: Set{Child}List()
  23. Advanced: Set{Sibling}List()
  24. Advanced: Get{Sibling}List()
  25. Advanced: DeleteList(deep)
  26. Customizing POG-generated code
  27. Customizing: Extending POG Objects
  28. Customizing: Plugins
  29. Examples
  30. Examples: User registration system
  31. Examples: User authentication
  32. Examples: Survey form
  33. Examples: Using POG with AJAX
  34. PDO: Introduction
  35. PDO: SQLite example
  36. PDO: Firebird example
  37. PDO: PostgreSQL example
  38. PDO: MySQL example
  39. PDO: ODBC example
  40. Troubleshooting
  41. Troubleshooting: Data appears encoded
  42. Troubleshooting: Can't regenerate object
  43. Troubleshooting: Can't seem to Save()
  44. Troubleshooting: Can't get object / object attributes from database
  45. Troubleshooting: Can't open zip file on Mac
  46. Troubleshooting: Setup screen is blank
  47. Videos
  48. Appendix: Creating table(s) manually
  49. Appendix: Regenerating objects
  50. Appendix: Generating objects using SOAP
  51. Case Study: Gravity GTD
  52. Case Study: Web Form Factory

Want more Php Object Generator?
Back to the Code Generator
The POG Weblog and RSS feed.
The POG Google group

Customizing: Extending POG Objects

Extending POG objects is recommended when your customization is limited to a particular set of business rules for a web application. Extending POG objects involves grouping your changes in a separate PHP class (and separate file) so that you can regenerate and overwrite your POG objects at any time during the development cycle, without losing any changes you’ve made.

Extending PHP classes
One of the big advantages of using OOP in PHP is that you can extend classes, i.e. make classes that build upon each other, avoid code repetition. Creating a new class which builds on an existing class allows the new class to use all the public methods of the base class while allowing you to define new methods as well. Thus you can hopefully see that by extending POG classes, you can have access to all CRUD methods generated by POG (Get(), GetList(), Save() etc) and also define your own customized methods.


Let’s assume you generate a Book and Author objects in POG, and you want to add a new function that will allow you to know if a Book has more than one author:

  1. Create a new class called MyBook which extends Book
  2. Create a function in MyBook that has a function called HasMultipleAuthors()
  3. Simply call $mybook->HasMultipleAuthors()

POG documentation summary: