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

Yaf_Router

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

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

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

class.yaf-router.php

The Yaf_Router class

(Yaf >=1.0.0)

Вовед

Yaf_Router Класата Yaf_Router е стандарден рутер на рамката. Рутирањето е процес на земање на крајна точка на URI (тој дел од URI што доаѓа по основната URI: видетеYaf_Request_Abstract::setBaseUri() Yaf_Request_Abstract ) и негово разложување на параметри за да се утврди кој модул, контролер и акција на тој контролер треба да ја прими барањето. Овие вредности на модулот, контролерот, акцијата и другите параметри се спакувани во Yaf_Dispatcherобјект кој потоа се обработува од Yaf_Router . Рутирањето се случува само еднаш: кога барањето е првично примено и пред да се испрати првиот контролер.

е дизајниран да овозможи функционалност слична на mod_rewrite користејќи чисти PHP структури. Многу е лабаво базиран на рутирањето на Ruby on Rails и не бара никакво претходно знаење за препишување URL-и на веб-сервер. Дизајниран е да работи со едно правило на Apache mod_rewrite (едно од):

RewriteEngine on
RewriteRule !\.(js|ico|gif|jpg|png|css|html)$ index.php
Пример #1 Правило за препишување за Apache

или (препорачано):

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
Пример #2 Правило за препишување за Apache

Ако користите Lighttpd, следното правило за препишување е валидно:

url.rewrite-once = (
  ".*\?(.*)$" => "/index.php?$1",
  ".*\.(js|ico|gif|jpg|png|css|html)$" => "$0",
  "" => "/index.php"
)
Пример #3 Правило за препишување за Lighttpd

Ако користите Nginx, користете го следното правило за препишување:

server {
  listen ****;
  server_name  yourdomain.com;
  root   document_root;
  index  index.php index.html;

  if (!-e $request_filename) {
    rewrite ^/(.*)  /index.php/$1 last;
  }
}

Пример #4 Правило за препишување за Nginx

Yaf_Router Стандардна рута Yaf_Route_Staticдоаѓа претходно конфигуриран со стандардна рута

Забелешка:

, што ќе одговара на URI во форма контролер/акција. Дополнително, името на модулот може да се специфицира како прв елемент на патеката, дозволувајќи URI во форма модул/контролер/акција. Конечно, исто така ќе одговара на сите дополнителни параметри додадени на URI по дифолт - контролер/акција/var1/value1/var2/value2.

Името на модулот мора да биде дефинирано во конфигурацијата, земајќи го предвид application.module="Index,Foo,Bar", во овој случај, само index, foo и bar можат да се сметаат како име на модул. ако нема конфигурација, постои само еден модул наречен "Index".

Генератор Yaf_Route_StaticНекои примери за тоа како се совпаѓаат таквите рути:

// Assuming the following configure:
$conf = array(
   "application" => array(
      "modules" => "Index,Blog",
   ),
);

Controller only:
http://example/news
    controller == news
Action only(when defined yaf.action_prefer=1 in php.ini)
    action  == news
 
Invalid module maps to controller name:
http://example/foo
    controller == foo
 
Module + controller:
http://example/blog/archive
    module     == blog
    controller == archive
 
Module + controller + action:
http://example/blog/archive/list
    module     == blog
    controller == archive
    action     == list
 
Module + controller + action + params:
http://example/blog/archive/list/sort/alpha/date/desc
    module     == blog
    controller == archive
    action     == list
    sort       == alpha
    date       == desc

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

class Yaf_Router {
/* Својства */
protected $_routes;
protected $_current;
/* Методи */
public __construct()
public addRoute(string $name, Yaf_Route_Abstract $route): bool
public getRoutes(): mixed
public route(Yaf_Request_Abstract $request): bool
}

Својства

_routes

стек на регистрирани рути

_current

по фазата на рутирање, ова го означува името на рутата што се користи за рутирање на тековното барање. ова име можете да го добиете со Yaf_Router::getCurrentRoute().

Содржина

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

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

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

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

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

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

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