Time Is Money (part 2) - Happy Endings
(Page 11 of 11 )
And that just about concludes this case study. Throughout this development effort, I have made widespread use of PHP's session management capabilities, date and string functions, HTTP header functions, and database access capabilities. If you are new to PHP, I hope that the effort has been instructive, and that it has helped you gain a greater understanding of these powerful open-source tools.
If you'd like to learn more about some of the issues, techniques and functions described throughout the course of this article, here are a few links:
The Fundamentals of Relational Database Design:
Date functions
http://www.php.net/manual/en/ref.datetime.phpmySQL functions available in PHP:
http://www.php.net/manual/en/ref.mysql.phpIf you'd like to read up on other case studies like this, do consider visiting the following links:
Miles To Go Before I Sleep:
http://www.devshed.com/c/a/PHP/Miles-To-Go-Before-I-Sleep/Cracking The Vault:
http://www.devshed.com/c/a/PHP/Cracking-The-Vault-part-1/Despite my protestations to the contrary (and my fear that I'm going to have to cut short my overly-long lunch hour once the Boss gets his hands on it), I believe that a tool such as the one described over the preceding pages offers tremendous benefits to any organization in its efforts to streamline business processes and allocate resources more efficiently. By obtaining and storing information in electronic format, it reduces paperwork and simplifies resource accounting; by imposing a structure on user information, it makes it easier and quicker to locate, present and analyze raw data; and by using a database, it ensures that data does not get corrupted.
It should be noted also that this is an initial release of the application, and I expect it to evolve further, with new features being added and old features being upgraded. It's always a good idea to review both design and code as the application evolves - I plan to do this a little further down the road, and to make changes to both the database schema and the scripts themselves. This process should take place in conjunction with the development plan for new features, so that the addition of new features does not add to overhead and cause performance degradation.
That said, let me also add that when I delivered the finished product to the Customer at his uptown office (a couple hours ahead of deadline), he was thrilled to bits, and the severe HRD minions looked delirious with delight. In fact, the Customer was so impressed that, in the five minutes I spent alone in his office, he:
offered me one of his foul-smelling cigars (which I politely declined);
offered me a job (which I also politely declined);
and offered us a long-term software development contract (which I was happy to accept on behalf of the Boss);
Needless to say, the Boss was equally thrilled with the outcome and indicated that I would shortly be receiving a bonus and some vacation time for my efforts...naturally, after executing the Customer's next project. In fact, the Boss said, he was thinking of making me point man for the Customer's entire development contract, a statement which made my blood freeze and my stomach rumble in fear of the impending ulcers...
What, you were expecting a happy ending? Get real!
Note: All examples in this article have been tested on Linux/i586 with Apache 1.3.12, mySQL 3.23 and PHP 4.06. Examples are illustrative only, and are not meant for a production environment. YMMV!
| DISCLAIMER: The content provided in this article is not warranted or guaranteed by Developer Shed, Inc. The content provided is intended for entertainment and/or educational purposes in order to introduce to the reader key ideas, concepts, and/or product reviews. As such it is incumbent upon the reader to employ real-world tactics for security and implementation of best practices. We are not liable for any negative consequences that may result from implementing any information covered in our articles or tutorials. If this is a hardware review, it is not recommended to open and/or modify your hardware. |