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

Yaf_Plugin_Abstract

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

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

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

class.yaf-plugin-abstract.php

Класата Yaf_Plugin_Abstract

(Yaf >=1.0.0)

Вовед

Приклучоците овозможуваат лесно проширување и прилагодување на рамката.

Приклучоците се класи. Дефиницијата на самата класа ќе варира во зависност од компонентата -- можеби ќе треба да го имплементирате овој интерфејс, но фактот останува дека приклучокот е самата класа.

Приклучок може да се вчита во Yaf со користење на (Yaf >=1.0.0), по регистрацијата, сите методи што приклучокот ги имплементирал според овој интерфејс, ќе бидат повикани во соодветно време.

Примери

Пример #1 Пример за приклучок

<?php
   /* bootstrap class should be defined under ./application/Bootstrap.php */
   class Bootstrap extends Yaf_Bootstrap_Abstract {
        public function _initPlugin(Yaf_Dispatcher $dispatcher) {
            /* register a plugin */
            $dispatcher->registerPlugin(new TestPlugin());
        }
   }

   /* plugin class should be placed under ./application/plugins/ */
   class TestPlugin extends Yaf_Plugin_Abstract {
        public function routerStartup(Yaf_Request_Abstract $request, Yaf_Response_Abstract $response) {
            /* before router 
               in this hook,  user can do some url rewrite */
            var_dump("routerStartup");
        }
        public function routerShutdown(Yaf_Request_Abstract $request, Yaf_Response_Abstract $response) {
            /* router complete 
               in this hook, user can do login check */
            var_dump("routerShutdown");
        }
        public function dispatchLoopStartup(Yaf_Request_Abstract $request, Yaf_Response_Abstract $response) {
            var_dump("dispatchLoopStartup");
        }
        public function preDispatch(Yaf_Request_Abstract $request, Yaf_Response_Abstract $response) {
            var_dump("preDispatch");
        }
        public function postDispatch(Yaf_Request_Abstract $request, Yaf_Response_Abstract $response) {
            var_dump("postDispatch");
        }
        public function dispatchLoopShutdown(Yaf_Request_Abstract $request, Yaf_Response_Abstract $response) {
            /* final hook
               in this hook user can do logging or implement layout */
            var_dump("dispatchLoopShutdown");
        }
   }

   Class IndexController extends Yaf_Controller_Abstract {
        public function indexAction() {
            return FALSE; //prevent rendering
        }
   }

   $config = array(
       "application" => array(
           "directory" => dirname(__FILE__) . "/application/",
       ),
   );
 
   $app = new Yaf_Application($config);
   $app->bootstrap()->run();
?>

Горниот пример ќе прикаже нешто слично на:

string(13) "routerStartup"
string(14) "routerShutdown"
string(19) "dispatchLoopStartup"
string(11) "preDispatch"
string(12) "postDispatch"
string(20) "dispatchLoopShutdown"

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

class Yaf_Plugin_Abstract {
/* Методи */
public function postDispatch(Yaf_Request_Abstract $request, Yaf_Response_Abstract $response): void
public function preDispatch(Yaf_Request_Abstract $request, Yaf_Response_Abstract $response): void
public function preResponse(Yaf_Request_Abstract $request, Yaf_Response_Abstract $response): void
public function routerShutdown(Yaf_Request_Abstract $request, Yaf_Response_Abstract $response): void
public function routerStartup(Yaf_Request_Abstract $request, Yaf_Response_Abstract $response): void
}

Содржина

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

(Yaf >=1.0.0)
пред 13 години
All the methods which the plugin implemented according to this interface, will be called at the proper time automatically.
На оваа страница

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

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

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

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

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