I'm nearing the next level of Kriegsland, the work on the underlying engine. It's now I'm considering everything and anything that will simplify and stream-line the process. Something that I've looked at before and I now find myself poring over again is the PDO based ORM and abstraction tool Doctrine.
Doctrine is very similar to Hibernate in that it creates a load of objects that allows object orientated access to your database tables and also creates a layer of abstraction over your database.
So, pros and cons.
Pros:
1) More efficient use of resources (probably). This is something that will probably really only have returns in much larger projects in that the actual overhead of running Doctrine will probably be higher than any saving that dynamic loading of objects etc. could provide.
2) It's the "proper" way of doing it. Fully implemented it would be solid, robust, easy to expand and build on top of. Additionally, if I wanted to switch to a different database in 5 years time it would be drastically simplified.
Cons:
1) Time. It's a new framework to learn and though it would streamline elements of my work I'm sure it would add a great deal of complexity to getting anything working at all.
2) Is it really necessary? This is a basic enough project, my first of this type. Is being tied to a single database such a bad thing? I have very solid SQL and am a wizard with outer joins and such so why throw that all away just to go with Doctrine.
So, after thinking about it I will postpone my inclusion of Doctrine in my project. As long as I keep things properly layered and implement some kind of DAO library it shouldn't be overly problematic (famous last words) to slot it in at a later date if I so choose anyway.
No comments:
Post a Comment