Angus Mann wrote:
Hi all.

I'm working on a PHP project for my own personal business use. It will handle billing and invoices as well as payments and time management, bookings, appointments and a few more. I may add things like personal messaging between the various users and a customer login to check on the progress of their accounts.

It is a big project and will probably take a year or so to complete in my spare time.

I have made a couple of starts but I have no experience in creating such large applications and I find I often end up with spaghetti code. I've tried using session variables to keep track of where and what the program is doing but there are so many permuations and combinations I found myself writing endless streams of if's, and's and or's just to figure out what page to display.

The code is not the probblem for's the flow and organization of the code.

Can anybody point me to a good book or tutorial that lays down the principles and gives some suggestions for integrating the many subroutines of a large application? I want to make the code readable and logical in its flow, and avoid repetition of code segments.

Much appreciated.

I wrote one from Scratch over many years and I don't know how I would
operate my business without it at this point. Some little things I would suggest... if you have multiple relationships over several .dbs.. customers db relating to a invoices db, proposals db, quotes db etc..
make sure to use a global unique ID across all databases.. meaning,
every time a new record is created in any of these databases, I
grab an I.D. from a function that exists only to create a unique ID.
This way you don't run the risk of creating false relationships.

Some ideas?.. I probably went over board, but all my invoices, quotes etc. also have a corresponding hard copy (file that is written), other
than the database record, which acts as redundancy.

The problem with any framework such as Drupal is, though you can avoid reinventing the wheel in some cases, you also build stuff that looks like existing stuff and you have the same known security management as existing stuff, and you are sometimes limited on function... So, I just wanted to add this alternate perspective that it is perfectly doable starting from the ground up.


  D. BROOKE                       EUCA Design Center
                               WebDNA Software Corp.
  WEB:>  |
  WebDNA: [** Square Bracket Utopia **]

PHP General Mailing List (
To unsubscribe, visit:

Reply via email to