Your Tables as PHP Objects
The Code Generator will usually create a PHP object for each table in your database. The exception is a special kind of table used to define many-to-many relationships, and that is discussed later in the tutorial. For our three main tables (login, person and project), the Code Generator created the following PHP classes:
- Login
- LoginGen
- Person
- PersonGen
- Project
- ProjectGen
LoginGen, PersonGen and ProjectGen are the generated classes which contain all the code to handle basic database CRUD (create, restore, update and delete) functionality. These files are recreated every time you generate code.
The Login, Person and Project classes inherit from the generated classes, and they are known as custom subclasses. They get generated only if they do not exist, and then are not changed by the code generator. So you should feel free to make changes to these custom subclasses, override methods, introduce additional functionality, etc. as well as re-execute the code generator at any time. Your changes and class customizations will remain intact.
For every object, the Code Generator will generate the getter and setter methods for each of the attributes in the table. It will also generate the following basic CRUD methods:
- load()
- loadAll()
- countAll()
- save()
- delete()
The example below shows how we can use the load() and loadAll() methods and the properties to view some of the data. Feel free to click on View Source button to view the PHP code for objects.php which makes these calls.
Displaying the Properties of a Project
- Project ID: 2
- Project Name: State College HR Systzzzz
- Project Decsription: Implementation of a back-office Human Resources system for State College
- Project Start Date: Feb 15 2006
- Project End Date:
- Project Budget: 80500.00
Using LoadAll to get an Array of Person Objects
- John Doeooo
- Kendall Public
- Ben Robinson
- Mike Ho
- Alex Smith
- Wendy Smith
- Karen Wolfe
- Samantha Jones
- Linda Brady
- Jennifer Smith
- Brett Carlisle
- Jacob Pratt
- 5 8
- 5 8
- 5 8
- 57417 87887
- Joseph Biden
- Joseph Biden
- Joseph Biden
- sdbv asdgvb
- sdbv asdgvb
- John Doe
- Johnww Doe
- ttttttt yyyyyy
- ttttttt yyyyyy
- ttttttt yyyyyy
- ttttttt yyyyyy
- ttttttt yyyyyy
- ttttttt yyyyyy
Using countAll() to get a Count of All Persons in the Database
There are 29 person(s) in the system.