Как установить функцию $ key и $ value для нее - PullRequest
0 голосов
/ 14 марта 2012

Я создаю сайт MVC и хочу получить номер страницы

Допустим, URL выглядит так:

http://site.com/fav/page:6

Где fav - это контроллер, который вызывает представление fav, которое в свою очередь показывает избранное пользователя.

Теперь для страницы:

$request = $_SERVER['REQUEST_URI'];
$request    = explode('/', $request);
unset($request[0]); // to remove unwanted values like sitecom

    foreach($request as $i=>$one) {
        if( FALSE!==strpos($one,':')
          && preg_match('/^([a-z0-9\-_]+)\:(.*)$/iu',$one,$m) ) {
            $m[1];
            $m[2];
        }
    }

Результат:

$m[1] = page;
$m[2] = 6;

Как отправить $m[1] и $m[2] на контроллер. Там, если $m[1] = page, чтобы получить $m[2] и так далее.

Возможно, с функцией, но как?

1 Ответ

1 голос
/ 14 марта 2012
  1. Возможно, вам нужно создать класс маршрутизатора, в который будет помещена логика из приведенного выше примера.

  2. Вы должны решить, какой контроллер вы должны вызвать и передать значения от маршрутизатора к этому контроллеру, что-то вроде этого:


<?php

$router = new Router($_REQUEST);
$ctrlCls = $rounter->getCtrl(); // return your FavController class

$ctlr = new $ctrlCls();
// it'll set an array('page' => N, 'key' => 'value', etc)
$ctrl->setParams($rounter->getParams());
// maybe even $ctrl->setPage($router->getPage());
$ctrl->run();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...