Join Jon Peck for an in-depth discussion in this video Exercise files, part of Up and Running with PHP CodeIgniter (2013).
In this course, I'm going to be developing a Sandbox PHP environment using CodeIgniter 2.1.3 as the framework, PHP 5.3 as server side language, MySQL 5.5 as the database server and Apache 2 as the web server. Other web servers, such as, nginx, IIS will not be covered in this course but they should work. 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 system.
XAMPP from apachefriends.org, has distributions for Linux, Windows, and Mac OS X. WampServer from wampserver.com, is explicitly for windows, and MAMP from mamp.info is for Mac only. Each of these packages will allow you 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 of the location of your web server you'll need access to the command line with administrative credentials in order to install and configure server software.
For Mac and Linux, the Terminal allows you to access the command 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 available from the official Putty website. I'm going to demonstrate writing code using the NetBeans 7.3 IDE bundle for PHP. NetBeans is a free open sourcing cross platform integrated development environment from netbeans.org. Keep in mind the goal of the course is to use CodeIgniter not how to use NetBeans but with that said I'm only going to be editing code in NetBeans.
Any IDE or text editor will work. The exercise 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 lending 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's some additional folders in the exercise files that you should be aware of. The first is Assets which contains images for testing uploading during the course.
Next is the Bootstrap folder, this is minimal modified version of Twitter Bootstrap including a custom navigation system this would be copying during the course. Along with the Bootstrap folder are css, js and image, these will be copied same time as Bootstrap. Finally the Database folder contains a single SQL file for import called Issue_publications.sql. Please import the file now to prepare for database interactions. A final note, as different web hosts in configurations serve content from different URL's, the address you see in my browser may not exactly match what you see on your work station. Additionally the location shown in the command prompt demonstrations will differ depending upon the location of site files and configurations on the server. The software configuration will be very similar if not identical across platforms.
Starting with the what and why of CodeIgniter, Jon introduces key concepts such as the MVC pattern and libraries by demonstrating how to create static pages, then storing and displaying magazine info in a database. Advanced topics like classes and helpers are explored to validate user input, upload files, and much more. By creating a complete system, you'll have the foundation to build your own applications with CodeIgniter.
- What is CodeIgniter?
- Creating a static page controller
- Generating output with a view
- What is a model?
- Saving data with Active Records
- Creating forms
- Validating user input
- Listing records in tables
- Uploading images
- Viewing and deleting records