Join Jon Peck for an in-depth discussion in this video Exercise files, part of Learning CakePHP (2013).
In this course, I'm going to be developing in a Sandbox PHP environment using CakePHP 2.4.0 as the framework, PHP 5.3 as the server side language, MySQL 5.5 for the database server, and Apache 2 as the Web server. Other Web servers such as Engine X or IIS will not be covered in this course but they should work. Also the installation directory needs to be writable by the Web server. If you don't already have a server for development, I recommend using a local development server running on your workstation.
In this course, I'm going to be demonstrating using a virtualized server running in my existing operating system. If you'd like a server configured using this technique, check out, Up and Running with Linux for PHP Developers, here in the lynda.com online training library. Alternatively, you can use a web server solution stack package in your native operating systems. XAMPP from apachefriends.org, has distributions for every major platform. Webserver from WampServer.com is explicitly for Windows, and MAMP from MAMP.info is for Mac only.
Each of these packages will allow you to run the exercises found in this course. Installing additional software within your native operating system is covered in the course, Installing Apache, MySQL, and PHP with David Gassner. Here in the lynda.com online training library. Regardless the location of your web serve, you'll need access to the commands line with administrative credentials in order to install and configure server software. For Mac and Linux, the terminal allows you to use the commands line which includes access to the SSH command if the site is hosted remotely.
For Windows, you can use the free program PuTTY to connect via SSH to remote servers. Which is available from the official PuTTY website. I'll demonstrate writing code using NetBeans 7.3.1 IDE Bundle for PHP. NetBeans is a free, open source, and cross-platform integrated development environment from netbeans.org. The goal of the course is to use KPHP, not how to use NetBeans. But with that said, I'm only going to be editing code in NetBeans. So any IDE or text editor will work.
The excercise files for this course are contained in folders by chapter and movie. On my work station, I have them in a folder named sandbox that my virtualized Linux server can access. Depending on your web server configuration, you may need to store these files in a different place, such as a Remote web server or in a folder accessible by a local Apache and PHP stack. There are two additional folders in the exercise files to be aware of. The first is assets containing files for testing uploading during the course. The other is the database folder, containing a single MySQL script for import called issues_publications.sql.
Please import the file now to prepare for the database interactions. A vital note, as different web hosts and configurations serve content from different URLs, the address you see in my browser may not exactly match what you see on your workstation. Additionally, the locations shown in the command prompt demonstrations will differ depending on the location of site files and the configurations on your server. This software configuration, will be very similar if not identical across all platforms.
Speed up your development with CakePHP, the popular open-source PHP framework. In this course, author Jon Peck builds a magazine cataloging system while explaining how to work with the Model-View-Controller (MVC) development pattern.
The course demonstrates how to install and configure CakePHP, describing the layout and components. Then, leveraging the Bake console, Jon shows how to generate and customize code, and explores form validation, database persistence, and even image uploads. By developing a complete, functional application, you'll have the foundation you need to build your own applications with CakePHP.
- What is CakePHP?
- Installing and configuring CakePHP
- Generating a model with Bake
- Linking models together
- Generating a controller
- Saving a model from the controller
- Displaying a model with a view
- Debugging a failed save
- Using helpers to generate HTML
- Uploading files and displaying images