PHP.mk документација

Yaf_Controller_Abstract

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

class.yaf-controller-abstract.php PHP.net прокси Преводот се освежува
Оригинал на PHP.net
Патека class.yaf-controller-abstract.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + превод во позадина Кодовите, табелите и белешките остануваат читливи во истиот тек.
Yaf_Controller_Abstract

Референца за `class.yaf-controller-abstract.php` со подобрена типографија и навигација.

class.yaf-controller-abstract.php

Класата 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::getServer()) по рутирањето, Yaf ќе ги предаде на акциониот метод (види (Yaf >=1.0.0)).

Забелешка:

Овие аргументи се земаат директно без филтрирање, тие треба внимателно да се обработат пред да се користат.

Синопсис на класата

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 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(
/** now dummyAction is defined in a separate file */
"dummy" => "actions/Dummy_action.php",
);

/* action method may have arguments */
public function indexAction($name, $id) {
/* $name and $id are unsafe raw data */
assert($name == $this->getRequest()->getParam("name"));
assert($id == $this->_request->getParam("id"));
}
}
?>

Example #2 Dummy_action.php

<?php
class DummyAction extends Yaf_Action_Abstract {
/* an action class shall define this method as the entry point */
public function execute() {
}
}
?>
_module

име на модул

_name

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

_request

тековен објект за барање

_response

тековен објект за одговор

_invoke_args

_view

објект за мотор за приказ

Содржина

Белешки од корисници

Нема белешки од корисници за оваа страница.
На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.