- Introduction - [[phpsqlbtb:Welcome]] - [[phpsqlbtb:Using the exercise files]] - Installation and Project Setup - [[phpsqlbtb:PHP and MySQL installation]] - [[phpsqlbtb:Project setup]] - Intermediate PHP Techniques - [[phpsqlbtb:Using variable variables]] - [[phpsqlbtb:Applying more array functions]] - [[phpsqlbtb:Building dates and times - Epoch/Unix]] - [[phpsqlbtb:Formatting dates and times - Strings and SQL]] - [[phpsqlbtb:Setting server and request variables]] - [[phpsqlbtb:Establishing global and static variable scope]] - [[phpsqlbtb:Making a reference assignment]] - [[phpsqlbtb:Using references as function arguments]] - [[phpsqlbtb:Using references as function return values]] - Introduction to Object-Oriented Programming (OOP) - [[phpsqlbtb:Introducing the concept and basics of OOP]] - [[phpsqlbtb:Defining classes]] - [[phpsqlbtb:Defining class methods]] - [[phpsqlbtb:Instantiating a class]] - [[phpsqlbtb:Referencing an instance]] - [[phpsqlbtb:Defining class properties]] - OOP in Practice - [[phpsqlbtb:Understanding class inheritance]] - [[phpsqlbtb:Setting access modifiers]] - [[phpsqlbtb:Using setters and getters]] - [[phpsqlbtb:Working with the static modifier]] - [[phpsqlbtb:Reviewing the scope resolution operator]] - [[phpsqlbtb:Referencing the Parent class]] - [[phpsqlbtb:Using constructors and destructors]] - [[phpsqlbtb:Cloning objects]] - [[phpsqlbtb:Comparing objects]] - Photo Gallery Project Setup - [[phpsqlbtb:Overview of the project]] - [[phpsqlbtb:Creating project and asset directories]] - [[phpsqlbtb:Creating a MySQL database]] - Foundations of an OOP Project - [[phpsqlbtb:Creating the MySQL Database class]] - [[phpsqlbtb:Adding queries to the MySQL Database class]] - [[phpsqlbtb:Using the database object]] - [[phpsqlbtb:Creating a User class]] - [[phpsqlbtb:Instantiating user objects]] - [[phpsqlbtb:Revising find methods to instantiate]] - [[phpsqlbtb:Autoload - The undeclared object safety net]] - [[phpsqlbtb:Creating the Session class]] - [[phpsqlbtb:Logging in using the Session class]] - [[phpsqlbtb:Initializing files and path constants]] - [[phpsqlbtb:Using path content for layout]] - [[phpsqlbtb:Late static binding]] - [[phpsqlbtb:Demo of late static binding]] - Working with Files and Directories - [[phpsqlbtb:File system basics]] - [[phpsqlbtb:Understanding file permissions]] - [[phpsqlbtb:Setting file permissions]] - [[phpsqlbtb:PHP permissions]] - [[phpsqlbtb:Accessing files]] - [[phpsqlbtb:Writing to files]] - [[phpsqlbtb:Deleting files]] - [[phpsqlbtb:Moving the file pointer]] - [[phpsqlbtb:Reading files]] - [[phpsqlbtb:Examining file details]] - [[phpsqlbtb:Working with directories]] - [[phpsqlbtb:Viewing directory content]] - [[phpsqlbtb:Creating a log file - Assignment]] - [[phpsqlbtb:Creating a log file - Solution]] - Uploading Files - [[phpsqlbtb:Configuring PHP for file uploads]] - [[phpsqlbtb:Sending files as form data]] - [[phpsqlbtb:Inspecting uploaded files]] - [[phpsqlbtb:Uploading errors]] - [[phpsqlbtb:Moving uploaded files]] - title - [[phpsqlbtb:Completing the User Class]] - [[phpsqlbtb:Remaining user CRUD]] - [[phpsqlbtb:Creating users]] - [[phpsqlbtb:Updating users]] - [[phpsqlbtb:Deleting users]] - [[phpsqlbtb:Abstracting the database table name]] - [[phpsqlbtb:Abstracting the attributes]] - [[phpsqlbtb:Finding the database attributes]] - The Photograph Class - [[phpsqlbtb:Starting the Photograph class]] - [[phpsqlbtb:Coding the Photograph class]] - [[phpsqlbtb:Saving photographs]] - [[phpsqlbtb:Uploading photographs]] - [[phpsqlbtb:Listing photographs]] - [[phpsqlbtb:Storing messages in the Session class]] - [[phpsqlbtb:Deleting photographs]] - [[phpsqlbtb:Displaying photographs in the public area]] - The Comment Class - [[phpsqlbtb:Creating the Comment class]] - [[phpsqlbtb:Building the comment form]] - [[phpsqlbtb:Listing comments]] - [[phpsqlbtb:Reviewing comments in the staff area]] - Pagination - [[phpsqlbtb:Understanding the concepts behind pagination]] - [[phpsqlbtb:Using LIMIT, OFFSET, and COUNT]] - [[phpsqlbtb:Finding the pagination variables]] - [[phpsqlbtb:Using the Pagination class]] - [[phpsqlbtb:Paginating photographs]] - [[phpsqlbtb:Using pagination links]] - title - [[phpsqlbtb:Sending Emails]] - [[phpsqlbtb:Configuring PHP for email]] - [[phpsqlbtb:Sending email with mail()]] - [[phpsqlbtb:Reviewing SMTP]] - [[phpsqlbtb:Using PHPMailer]] - [[phpsqlbtb:Building notification for new comments]] - Templating and Code Organization - [[phpsqlbtb:Using MVC architecture]] - [[phpsqlbtb:Simple templating]] - [[phpsqlbtb:Using the Smarty PHP templating engine]] - [[phpsqlbtb:Building PHP libraries and frameworks]] - Conclusion - [[phpsqlbtb:Goodbye]] - Appendix: PHP Installation and Configuration Assistance - [[phpsqlbtb:Installing on Mac 10.4 (Tiger)]] - [[phpsqlbtb:Installing on Mac 10.5 (Leopard)]] - [[phpsqlbtb:Configuring a Mac]] - [[phpsqlbtb:The text editor on Mac]] - [[phpsqlbtb:phpMyAdmin installation on Mac]] - [[phpsqlbtb:Installing on Windows]] - [[phpsqlbtb:Configuring on Windows]] - [[phpsqlbtb:The text editor on Windows]] - [[phpsqlbtb:MySQL basics - phpMyAdmin]]