My suggestion to you is probably mosty a rehashing of what a lot of other people have said. I definitely think you should take a good, hard look at some existing solutions (frameworks, cms's, etc.) and decide whether you want to use one or not. In my experience, which is admittedly limited, pre-fabricated frameworks like those mentioned in this thread often have way more functionality than you'll actually need, like putting up a painting with a jackhammer. If you decide not to use one, you'll at the very least get a lot of invaluable experience working with PHP and seeing how things are setup. Maybe you'll directly emulate a code layout and flow structure, maybe you'll take a bit from drupal, and a bit from cake, and a bit from wordpress, or maybe by seeing them, you'll reject their ideas for your own. No matter what you do, it's exposure to someone else's ideas and through that, you can help build your own instead of walking down that same road and falling in the same pitfalls that other people have.
I'd also like to second someone's previous suggestion that you not work alone. In my experience, there's pros and cons to every idea and every idea has a sibling - at least one other way of accomplishing the same task. If you surround yourself with good people that know what they're doing and have a good discourse about how to do A, B and C and bounce ideas off of one another, there's a good chance that the ultimate product will be much better than if you had elected to work alone. That's all I've got --Eddie On Tue, Jun 2, 2009 at 9:48 AM, Lists <li...@euca.us> wrote: > 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 me...it'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. >> Angus >> > > 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. > > Donovan > > > > > > -- > =o=o=o=o=o=o=o=o=o=o=o=o=o=o=o=o=o=o=o=o=o=o=o=o=o > D. BROOKE EUCA Design Center > WebDNA Software Corp. > WEB:> http://www.euca.us | http://www.webdna.us > =o=o=o=o=o=o=o=o=o=o=o=o=o=o=o=o=o=o=o=o=o=o=o=o=o > WebDNA: [** Square Bracket Utopia **] > > > -- > PHP General Mailing List (http://www.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php > >