Etwas untergegangen: Propel 1.4 is raus

… und hier gibt’s ein Changelog: http://propel.phpdb.org/trac/wiki/Users/Documentation/1.4/WhatsNew

Erst in den nächsten Monaten wird sich wohl herausstellen, ob der neue Maintainer da auch langfristig Böcke drauf hat. Ich glaube, ich bleibe nach dem ganzen Lernaufwand jetzt erstmal bei Doctrine, da tut sich ja auch noch einiges (Obwohl ich stiller Fan der Criteria-API bin, und Doctrine mit Klammern im WHERE (kommi… komma… kommutativ? irgendwie schon) ist ja immer noch so eine Sache… Doctrine 1.2 zieht mit dem Symfony 1.3 Releasetermin gleich, und da gibt es auch wiederum ein paar tolle neue Features. Übrigens ein Changelog mit sehr viel Stil ;)

One Reply to “Etwas untergegangen: Propel 1.4 is raus”

  1. glaub’ das ist auch mal ein echter Gewinn:
    das ging nämlich immer ordentlich auf die Performance…

    Foreign Key Retrievers Now Use Instance Pool

    When you retrieve an object related to the current model object by a foreign key, you usually use a method generated by Propel, as follows:

    $author = $book->getAuthor(); // $author is an Author instance
    

    Behind the curtain, this method uses the author_id property of the current book object, makes a query to the database for the related author record, and hydrates an Author object with the result. But what if you already have hydrated this author object earlier in the script? Thanks to instance pooling, Propel remembers the objects it has in memory, which can save a lot of database queries. For instance:

    foreach($author->getBooks() as $book)
    {
    echo $book->getTitle();
    echo $book->getAuthor()->getName();
    }
    

    In Propel 1.3, this code would issue n+1 queries to the database (n being the number of books written by $author). But with Propel 1.4, this code only executes one query. As the getAuthor() method is called, Propel knows that the author of each book is already in memory, and therefore skips the database query and the hydration process altogether. hte result is a slight speed boost, and a decrease in the number of queries executed per page.

Leave a Reply

Your email address will not be published. Required fields are marked *