本文整理匯總了PHP中core\Router::setPrefixes方法的典型用法代碼示例。如果您正苦於以下問題:PHP Router::setPrefixes方法的具體用法?PHP Router::setPrefixes怎麽用?PHP Router::setPrefixes使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類core\Router
的用法示例。
在下文中一共展示了Router::setPrefixes方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: parse
/**
* Permet de parser l'url (définir quel est le controller, quelle est l'action)
* @param Request $request objet Request
*/
public static function parse(Request $request)
{
if (!$request->isRooted) {
// On définit les prefixes s'il y en a
Router::setPrefixes();
// On enlève les / en début et fin d'url
$url = trim($request->url, '/');
// On créer un tableau à partir de l'URL
$params = explode('/', $url);
// On vérifie si on a un prefixe ou pas
if (isset($params[0]) && in_array($params[0], self::$prefixes)) {
// Si oui on le stock dans la request
$request->prefixe = $params[0];
// et on l'enlève du tableau URL
array_shift($params);
}
// On déinit ensuite le controlleur
$request->controller = !empty($params[0]) ? $params[0] : App::getInstance()->getAppSettings("default_controller");
// On vérifie si y a pas une tentative de hack avec "l'ancien system" en vérifiant qu'on appelle pas controller/prefixe_action
if (isset($params[1])) {
$action = $params[1];
// On check si l'action n'est pas au format prefixe_action
foreach (Self::$prefixes as $k) {
if (strpos($action, $k . '_') === 0) {
// Si c'est le cas on définit le prefixe et on reformat l'action
$request->prefixe = $k;
$action = str_replace($k . '_', '', $action);
}
}
$request->action = $action;
} else {
$request->action = App::getInstance()->getAppSettings("default_action");
}
$request->params = array_slice($params, 2);
}
}