|
Posted by Manuel Lemos on 05/01/05 20:18
Hello,
on 05/01/2005 01:45 PM Danny Brow said the following:
> I'm about to start writing a big web app (mostly in PHP). But I'm not
> sure if I should layout the DB first then write the app, or should I
> just start writing the app and add stuff to the DB as I need it. How do
> you guys go about it?
If you want to implement a big project you should first make some
analysis and plan it before going ahead to the implementation. For big
projects, use case partioning is trongly encouraged. If you do not know
what that is, I strongly encourage reading this book. It succing and
straight to the point to get you started quickly.
http://www.phpclasses.org/reviews/id/0201309815.html
When you finnaly come to the point of an implementation, I suggest a
model driven object oriented approch. This means that instead of hand
coding all the tables and SQL by hand, you should design a model of the
entities of information of your project and use an object-relational
mapping tool so in your application you treat every entity as objects:
clients, products, transactions, etc..
Everything is an object, as opposed to sparse data in database. Then let
the object relational tool do the tedious job storing and retrieving
data from a relational database with SQL.
For this purpose, I suggest you use a tool like Metastorage, especially
because your project is big. It will let you model your business objects
and generates all access code and database schema in seconds. This will
be very good for you because it will let you try different models that
can be changed and regerated quickly until you figure the right model
for your needs and keep changing it later if necessary.
http://www.meta-language.net/metastorage.html
--
Regards,
Manuel Lemos
PHP Classes - Free ready to use OOP components written in PHP
http://www.phpclasses.org/
PHP Reviews - Reviews of PHP books and other products
http://www.phpclasses.org/reviews/
Metastorage - Data object relational mapping layer generator
http://www.meta-language.net/metastorage.html
[Back to original message]
|