1. <label id="w2g2v"><ruby id="w2g2v"></ruby></label>

        <output id="w2g2v"></output>
        <blockquote id="w2g2v"><ruby id="w2g2v"></ruby></blockquote>
        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

        Generated abstraction v/s dynamic abstraction

        written 4881 days ago

        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.

          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
        1. <label id="w2g2v"><ruby id="w2g2v"></ruby></label>

              <output id="w2g2v"></output>
              <blockquote id="w2g2v"><ruby id="w2g2v"></ruby></blockquote>
              1. <label id="w2g2v"><ruby id="w2g2v"></ruby></label>

                    <output id="w2g2v"></output>
                    <blockquote id="w2g2v"><ruby id="w2g2v"></ruby></blockquote>
                    财富之轮客服 雷霆vs爵士 葡萄越狱返水 极速十一选五计划5码 大圣捕鱼游戏 体彩超级大乐透玩法 山西福彩快乐十分开奖结果 2019.01.10雄鹿对火箭 企鹅假期返水 广东11选5app