Translate

Zend MVC: Принцип работы

Суть принципа Model - View - Controller основывается на том, что контроллер получает запрос пользователя, обрабатывает его пользуясь своим кодом и Model, и посылает ответ в View. Таким образом разграничивается PHP обработка и HTML отображение.
zend mvc

Zend Controllers and Actions

Контроллеры в Zend Framework можно найти в www/application/controllers/.  В качестве примера рассмотрим IndexController.php.
В любом контроллере Zend Framework есть свой набор действий (action).
Например, в только что установленом Zend есть IndexController.php, в котором мы можем найти:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class IndexController extends Zend_Controller_Action
{
 
    public function init()
    {
 
    }
 
    public function indexAction()
    {
 
        echo 'hello index';
 
    }
 
 
}
Это означает, что, если у нас есть controller ‘index’ і action ‘index’, то при переходе наsite.ua/index/index/ мы выполняем IndexController, indexAction().
Давайте немного изменим наш контроллер, добавим еще один action ‘world’:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
class IndexController extends Zend_Controller_Action
{
 
    public function init()
    {
 
    }
 
    public function indexAction()
    {
 
        echo 'hello index';
 
    }
 
    public function worldAction()
    {
 
        echo 'hello world';
 
    }
 
}
Теперь создайте файл world.phtml в директории www/application/views/scripts/index.
При переходе на site.ua/index/world/ мы получим на выводе 'hello world'.
Таким образом формируются ссылки в Zend Framework и работают разные контроллеры и екшени, в зависимости от потребности.

Zend Views

Следующим шагом будет знакомство с view файлами, которые отвечают за получение и вывод информации в Zend Framework.
По умолчанию view файлы можно найти в директории www/application/views/scripts/.
Тут для каждого контроллера создана своя папка с его view файлами, имена которых совпадают с action.
Например, для нашего index нам необходимо создать 2 файла index.phtml и world.phtml
Это и будут наши view файлы.
view
Теперь передадим наши переменные с контроллера в view файл:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
class IndexController extends Zend_Controller_Action
{
 
    public function init()
    {
 
    }
 
    public function indexAction()
    {
 
        $this->view->text = 'hello zend';
 
    }
 
    public function worldAction()
    {
 
        $this->view->anyname = 'hello framework;
 
    }
 
}
И передадим их в view файлы для вывода.
Соответственно в index.phtml добавляем:
1
<?php echo $this-text;?>
и в world.phtml:
1
<?php echo $this-anyname;?>
Таким образом Вы ознакомились с работой связки Controller - View в Zend Framework.
Как работать с Zend Framework Model Вы сможете прочитать в статье Zend Model.

Комментариев нет:

Отправить комментарий

Постоянные читатели