Web Frameworks - Workbook - Week 02

From mi-linux
Revision as of 10:57, 19 January 2010 by In9352 (talk | contribs)
Jump to navigationJump to search

Main Page >> Web Frameworks >> Workbook >> Workshop - week 01

Install Zend Framework

Zend is already installed on mi-linux, so you don't have to worry about that... However if you wish to install it at home, please see this page

Create Your Project

Open a terminal (command window if you are working on Linux, Putty if you are working from Windows). Navigate to a directory where you would like to start a project (in this case your public_html folder). Then execute the following:

% zf.sh create project quickstart

Note: "quickstart" is the name of your project... you can call it anything you like! (but avoid spaces please).

Running this command will create your basic site structure, including your initial controllers and views. The tree looks like the following:

quickstart
|-- application
|   |-- Bootstrap.php
|   |-- configs
|   |   `-- application.ini
|   |-- controllers
|   |   |-- ErrorController.php
|   |   `-- IndexController.php
|   |-- models
|   `-- views
|       |-- helpers
|       `-- scripts
|           |-- error
|           |   `-- error.phtml
|           `-- index
|               `-- index.phtml
|-- library
|-- public
|   `-- index.php
`-- tests
    |-- application
    |   `-- bootstrap.php
    |-- library
    |   `-- bootstrap.php
    `-- phpunit.xml

One last thing before we can start working: you need to set the permissions so you can browse to your files from a web browser... this command will do the trick:

chmod 755 quickstart -R

Checkpoint

Your project is now created and accessible: http://mi-linux.wlv.ac.uk/~0123456/quickstart/public/

(obviously replace "0123456" by your own student number, and "quickstart" by your own project name!)

Your homepage should look like this:

Zend 01.jpg

Obviously it's not doing much just yet, but it's a start! Now let's try and understand how it all works.

The Bootstrap

Your Bootstrap class defines what resources and components to initialize. By default, Zend Framework's Front Controller is intialized, and it uses the application/controllers/ as the default directory in which to look for action controllers (more on that later). The class looks like the following:

// application/Bootstrap.php

class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
{
}

As you can see, not much is necessary to begin with.

Configuration

While Zend Framework is itself configurationless, you often need to configure your application. The default configuration is placed in application/configs/application.ini, and contains some basic directives for setting your PHP environment (for instance, turning error reporting on and off), indicating the path to your bootstrap class (as well as its class name), and the path to your action controllers. It looks as follows:

; application/configs/application.ini

[production]
phpSettings.display_startup_errors = 0
phpSettings.display_errors = 0
includePaths.library = APPLICATION_PATH "/../library"
bootstrap.path = APPLICATION_PATH "/Bootstrap.php"
bootstrap.class = "Bootstrap"
resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"

[staging : production]

[testing : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1

[development : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1