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: Plugins


POG plugins provide a clean, reusable and cool way to extend the code generated by POG. POG plugins are also simple to implement and easy to use (we’ve got a theme going). Plugins provide a way to quickly add functionalilty beyond CRUD to your application. Let’s say your application provides a lot of statistical data (sums, trends etc). Although these functions can be deduced from the existing CRUD methods { for e.g GetList() followed by count() }, it makes sense to write these functions as separate plugins. The advantages gained are:

  1. The functions can be optimized.
  2. There is less code repetition because the functionality is centralized within the plugin.
  3. The functions can be reused in other projects, containing a different set of objects.
  4. Abstracting your code into a plugin can even insulate you against PHP version changes.

What does a POG plugin look like?
Here is a simple plugin example.

How to use a POG plugin
Using a POG plugin is actually very simple:

1. Place the plugin file in the POG plugin directory.
2. Run setup and go to the Plugins tab; you should see the plugin being referenced there.
3. Call the plugin function from any of you existing POG objects.

Example:
You install the GetCount() plugin which returns the number of records for any table.
You have the classic Book and Author POG objects.
You can thus use the GetCount() plugin as follows:

$bookCount = $book->GetCount();

or

$authorCount = $author->GetCount();

Rules for writing a POG plugin

There are a few rules when writing a POG plugin.

  1. The name you choose for your plugin must be different from the existing CRUD function names generated by POG, for e.g. GetList(), Get() etc.
  2. Your plugin must implement the POG plugin interface.




POG documentation summary: