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




How to debug POG-generated objects

written 3986 days ago

Sometimes, while working with POG generated PHP objects, you might get unexpected results. Here’s a short cheatsheet that should help you diagnose and solve your issue(s) quickly:

Verify Object validity
Check that the object generated is valid by loading it into a PHP editor. If there are any syntax errors, it will show up. In extremely rare cases, POG might generate invalid PHP objects. For instance, If your object doesn’t have an appropriate name or attributes (e.g. object name which starts with a Number instead of an Alphabetical character).

Run Setup
POG Setup’s main purpose is to automate table creation (if necessary), perform unit testing and provide a light scaffolding environment for your objects. Each time setup is run, all the objects present in the /objects folder are tested and verified to make sure that all 5 CRUD methods are working correctly. This is a quick way to determine whether or not any change you made to the object is causing you trouble.

POG Setup Failure?
If you encounter any fatal issues during POG setup, POG will prevent you from proceeding. The issues in the “fatal” category include:

  1. Table not properly created
  2. Mismatch between POG Object and Existing table.

In the first case, simply copy the SQL from the object header and try to execute it on your database. If there are issues with the SQL statement, you’ll be able to see it right away.

In the second case, drop any existing table and let POG try to recreate it.

Including all necessary files
Did you include all the necessary files at the beginning of your PHP file?

Echoing out sql queries
Until we find the time to implement a debug setting, you can easily see what query POG is issuing to the database by echoing out the $pog_query variable within any object. For instance, let’s say you have a Save() statement in your code but nothing is happening on the database level, i.e. no records are being created. Simply put an echo command in front of the $pog_query variable in the Save() method of your object. This will echo out the query just before it is dispatched to the database and you’ll most probably find why the query is invalid immediately.

Print_r(Object)
Sometimes, you just want to see what’s the internal state of your object, whether it’s after you go a Get() or Save(). You can easily print out the contents of your php object by using print_r

Read documentation
The POG documentation outlines the essential things you should know before using POG. We’ve also create some documentation summary in PDF format that you can download and read at your leisure.

Ask for help
Head to the POG Google group and search the archive for similar issues that have been solved. More often than not, your questions have already been answered previously. If not, feel free to post your issue. We’ll get back to you ASAP

Other common issues
Other issues commonly encountered when dealing with PHP Database objects are:

Hopefully, this will help reduce your debugging time to a minimum while dealing with POG objects.


  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