PhpRiot
Follow phpriot on Twitter
Sponsored Link
Download Article
Download this article or the entire “Eight Weeks of Prototype” series with all listings and files.




More information
Become Zend Certified

Prepare for the ZCE exam using our quizzes (web or iPad/iPhone). More info...


When you're ready get 7.5% off your exam voucher using voucher CJQNOV23 at the Zend Store
Free iPad/iPhone App
Available on the App Store

  • PHP manual
  • Zend Framework manual
  • Smarty manual
  • PHP articles
  • PHP training

Eight Weeks of Prototype: Week 8, A Complete Prototype Example

Application Structure

As mentioned in the introduction, the sample application created in this article is that of a simple contact manager. This will be presented to the user in the form of a single HTML page with primarily two sections: a list of existing contacts and a form with which to add a new contact. 

A separate JavaScript class will be created for each of these two primary functions, with another JavaScript file used to instantiate these classes. Additionally, server-side scripts are required to return a list of contact and to process a submitted contact and save it to the database. 

Therefore, the following files are required: 

  • index.html – The HTML file that the user visits in their web browser.
  • /js/Application.js – The JavaScript file that creates the contact manager once the page has loaded.
  • /js/AddressBook/Contacts.js – The JavaScript file containing the AddressBook_Contacts class, used to display the list of existing contacts. Contacts are retrieved from the server using Ajax.
  • /js/AddressBook/Creator.js – The JavaScript file containing the Address_Creator class, used to save contacts to the MySQL database using Ajax.
  • contacts.php – The PHP script that lists existing contacts
  • create.php – The PHP script that new contact data is submitted to so it can be saved to the database.
  • styles.css – A basic stylesheet used to make the main page look nicer.

In addition to these main files, we are also going to create some utility PHP scripts: 

  • ContactManager.php – This file will declare the ContactManager PHP class, used to retrieve contacts from the database and to save new contacts to the database.
  • database.php – This file will make the connection to the database so it can be used in the ContactManager class.

If you were going to create a more complex PHP application, you would perhaps consider using something like the Zend Framework's Zend_Controller_Front class to structure your code (using the MVC design pattern); however in an effort to keep the example concise I've simplified things as much as possible.

In This Article