Как создавать свои приложения

Итак, в прошлый раз мы установили Zend Framework. Давайте теперь посмотрим, что происходит при запуске приложения. Мы рассмотрим, что из себя представляет файл index.php, как создаются контроллеры, как добавить своей действие.

Начнем с файла index.php, куда направляются все запросы нашего приложения.

Открыв файл index.php в папке public, мы увидим следующий код:

[php]

// Define path to application directory
defined(‘APPLICATION_PATH’)
|| define(‘APPLICATION_PATH’, realpath(dirname(__FILE__) . ‘/../application’));

// Define application environment
defined(‘APPLICATION_ENV’)
|| define(‘APPLICATION_ENV’, (getenv(‘APPLICATION_ENV’) ? getenv(‘APPLICATION_ENV’) : ‘production’));

// Ensure library/ is on include_path
set_include_path(implode(PATH_SEPARATOR, array(
realpath(APPLICATION_PATH . ‘/../library’),
get_include_path(),
)));

/** Zend_Application */
require_once ‘Zend/Application.php’;

// Create application, bootstrap, and run
$application = new Zend_Application(
APPLICATION_ENV,
APPLICATION_PATH . ‘/configs/application.ini’
);
$application->bootstrap()
->run();

[/php]

Мы определяем две константы APPLICATION_PATH — указывает на папку, где находятся скрипты нашего приложения (папка application), и APPLICATION_ENVIRONMENT — играет роль переменной окружения, которую мы можем использовать для различных целей, в частности, настройка вывода сообщений об ошибках. Например, мы можем отключить вывод сообщений об ошибках на production системе, а вместо этого отправлять все ошибки себе на почту. Изначально, она имеет значение ‘production’.

Далее объявляется класс Zend_Application, который появился в релизе 1.8 фреймворка. Этот класс упрощает создание загрузчика приложения.

В конструктор класса передается два параметра. Первый — это наше окружение, а второй — путь к конфигурационному файлу приложения, либо можно передать объект Zend_Config. Если указывается путь до файла, то файл должен иметь расширение либо ini, либо xml.

Последняя строчка индексного файла запускает наше приложение.

Как упоминалось в прошлый раз, Zend Framework по умолчанию обрабатывает url в виде контроллера, который должен быть вызван, и действия этого контроллера. Введите http://zf/index, http://zf/index/index, вы получите одну и ту же страницу. Таким образом в связке /index/index сначала указывается контроллер index, затем действие index. Если действие не будет указано, то выполняется действие по-умолчанию, которым является index.

Если набрать в адресной строке http://zf/index/hello, то получите сообщение, что страница не найдена. Однако никакой дополнительной информации нам не будет показано. Давайте теперь поменяем APPLICATION_ENVIRONMENT со ‘production’ на ‘development’, и обновим страницу. Теперь мы видим отладочную информацию, и строка Message говорит нам, что действие hello не было найдено.

Добавим его. Для этого откроем в папке controllers файл IndexController.php и добавим действие helloAction.

[php]

public function helloAction(){}

[/php]

Нам осталось создать скрипт представления для нашего действия. Имя действия включает в себя название и суффикс Action. Перейдем в папку application/views/scripts/index и создадим новый файл hello.phtml следующего содержания:

[php]

<h2>I am Hello action of Index Controller</h2>

[/php]

hello action of index controller

Получилось! Теперь создадим новый контроллер book. Имя контроллера должно начинаться с заглавной буквы. Имя включает в себя название контроллера и суффикс Controller. В папку controllers добавим новый файл BookController.php.

[php]

class BookController extends Zend_Controller_Action
{
//put your code here
public function indexAction()
{

}
}
[/php]

В папку application/views/scripts добабим новую папку book, а внутри нее создадим файл представления index.phtml для нашего index контроллера .

[html]

//index.phtml

<h2>I am index action of Book Controller</h2>

[/html]

Набрав в адресной строке http://zf/book, мы увидим сообщение:

[html]

I am index action of Book Controller

[/html]

Как видите, ничего сложного здесь нет. Это базовые принципы связки контроллер-действие. Теперь вы можете писать свои простенькие приложения   :)

5 мысли о “Как создавать свои приложения

  • 3 апреля 2010 в 17:33
    Permalink

    Спасибо огромное за то, что вы трудитесь над переводом документации! Не нашел вариантов обратной связи и по этому решил поблагодарить тут. Еще раз огромное спасибо!

    [Ответить]

    admin Reply:

    Пожалуйста. На странице перевода документации есть мой email.

    [Ответить]

  • 17 ноября 2010 в 18:13
    Permalink

    могу сказать только одно — СПАСИБО! :)

    [Ответить]

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

:D :) ^_^ :( :o 8) ;-( :lol: xD :wink: :evil: :p :whistle: :woot: :sleep: =] :sick: :straight: :ninja: :love: :kiss: :angel: :bandit: :alien: