PHP 8.6.0 Beta 1 is available for testing

Класс Yaf_Controller_Abstract

(Yaf >=1.0.0)

Введение

Yaf_Controller_Abstract это сердце системы Yaf. MVC расшифровывается как Model-View-Controller и представляет собой шаблон проектирования, предназначенный для отделения логики приложения от логики отображения

Каждый пользовательский контроллер должен наследовать Yaf_Controller_Abstract.

Вы обнаружите, что не можете определить функцию __construct для своего пользовательского контроллера, поэтому Yaf_Controller_Abstract предоставляет

Если вы определили метод init() в своём пользовательском контроллере, он будет вызываться до тех пор, пока будет создан экземпляр контроллера.

У действия при поступлении запроса могут быть аргументы. Если в параметрах запроса есть одна и та же переменная имени (Yaf_Request_Abstract::getParam() ) после перенаправления, Yaf передаст их методу действия (Yaf_Action_Abstract::execute() ).

Замечание:

Аргументы извлекаются напрямую без фильтрации, перед использованием их следует тщательно обработать.

Обзор класса

abstract class Yaf_Controller_Abstract {
/* Свойства */
public $actions ;
protected $_module ;
protected $_name ;
protected $_request ;
protected $_response ;
protected $_invoke_args ;
protected $_view ;
/* Методы */
final private function __construct ()
protected function display (string $tpl, array $parameters = ?): bool
public function forward (string $action, array $paramters = ?): bool
public function getInvokeArg (string $name): void
public function getInvokeArgs (): void
public function getModuleName (): string
public function getName (): string
public function getRequest (): Yaf_Request_Abstract
public function getResponse (): Yaf_Response_Abstract
public function getView (): Yaf_View_Interface
public function getViewpath (): string
public function init (): void
public function initView (array $options = ?): void
public function redirect (string $url): bool
protected function render (string $tpl, array $parameters = ?): string
public function setViewpath (string $view_directory): void
}

Свойства

actions

Вы также можете определить метод действия в отдельном скрипте PHP, используя это свойство и Yaf_Action_Abstract .

Пример #1 Определение действия в отдельном файле

<?php
class IndexController extends Yaf_Controller_Abstract {
 protected $actions = array(
 /** теперь dummyAction определяется в отдельном файле */
 "dummy" => "actions/Dummy_action.php",
 );
 /* у метода действия могут быть аргументы */
 public function indexAction($name, $id) {
 /* $name и $id небезопасные необработанные данные */
 assert($name == $this->getRequest()->getParam("name"));
 assert($id == $this->_request->getParam("id"));
 }
}
?>

Пример #2 Dummy_action.php

<?php
class DummyAction extends Yaf_Action_Abstract {
 /* класс действия должен определить этот метод как точку входа */
 public function execute() {
 }
}
?>

_module

имя модуля

_name

имя контроллера

_request

текущий объект запроса

_response

текущий объект ответа

_invoke_args

_view

объект движка отображения

Содержание

Нашли ошибку?

ИнструкцияИсправлениеСообщение об ошибке
+Добавить

Примечания пользователей

Пользователи ещё не добавляли примечания для страницы

AltStyle によって変換されたページ (->オリジナル) /