8 Jun 06:57
Re: [phpdba] native ORM extension for php
Hello, on 05/27/2007 08:27 PM Hans Lellelid said the following: >> From what I know, Metastorage is different in many aspects. To install >> the compiler, you just unpack the archives available for download. It >> has no external package dependencies and it can run out of box without >> further configuration. >> >> Anyway, Metastorage is just a code generator. The generated code is >> self-contained, so it does not need any runtime libraries used by the >> generator. >> >> The only runtime library that Metastorage generated code needs is the >> database abstraction package, which currently is Metabase. Metabase also >> only needs to be unpacked wherever you want. The only configuration it >> needs is the database connection string, which is a just an URL that >> defines the database name, type, host, user, password, etc... > > Yes, these are all fair descriptions of the difference between > Metastorage and Propel. Propel does have an external dependency on > Phing and there is a runtime component for Propel, because Propel > provides support for OO SQL builder via Criteria object (which obviously > must be compiled by some runtime component). Metastorage provides its own Object Query Language (OQL). This allows developers to express object query conditions of arbitrary complexity, and Metastorage generates efficient PHP and SQL at compile time. There is no need to ship any runtime libraries to parse or build queries because that already happened at compile time.(Continue reading)
Good ORM tools are always welcome because they can make you more
productive. You spend less time hand coding your model objects, and use
the time more implementing the business logic. It is not just an
academic benefit.
It changes a bit the way you work and how far your applications will go
because with ORM tools it is much easier to implement complex features.
I started with Metastorage in 2002. I regret to not have seen that
opportunity sooner.
I know there are plenty of people that oppose to code generation in
general. However, I suppose that is in great part because the lack of
transparency. If you do not know how something is generated, it is easy
to imagine that an automated program will hardly generate well
structured and well formatted code.
But there are many different code generation tools. They do not generate
code with the same quality.
Personally I am very demanding. I wrote a code generation tool and I did
RSS Feed