сорцы
Z:\home\localhost\pyha\tests>phpunit Pyha\Tests\Component\Routing\
PHPUnit 3.5.2 by Sebastian Bergmann.
…………………………………………
Time: 0 seconds, Memory: 5.00Mb
OK (48 tests, 99 assertions)
примеры использования завтра
Форум → Программирование → Пыхнуть хотите? → Готовые решения → Pyha\Routing
Страницы: ← Следующая страница →
Z:\home\localhost\pyha\tests>phpunit Pyha\Tests\Component\Routing\
PHPUnit 3.5.2 by Sebastian Bergmann.
…………………………………………
Time: 0 seconds, Memory: 5.00Mb
OK (48 tests, 99 assertions)
28 октября 2010 г. 10:29, спустя 10 часов 26 минут 3 секунды
28 октября 2010 г. 11:15, спустя 36 минут 8 секунд
Pyha\Routing
28 октября 2010 г. 13:06, спустя 1 час 50 минут 47 секунд
28 октября 2010 г. 13:07, спустя 1 минуту 22 секунды
phpdude, я просто взял и нагло использовал название пыхи для ребрендинга своих BL
29 октября 2010 г. 12:58, спустя 23 часа 50 минут 47 секунд
use Pyha\Component\Routing;
$serverParams = array(
'method' => 'post',
'host' => 'pyha.localhost',
'path' => '/', // REQUEST_URI
'is_secure' => false,
'port' => 80,
'is_ajax' => false,
'base_url' => 'http://pyha.localhost/'
);
$request = new Routing\Request($serverParams, $_GET);
// создаем объект роутера
$router = new Routing\Router($request);
// добавляем стандартные ресолверы
$router
->addRouteResolvers(array(
new Routing\RouteResolver_Static(),
new Routing\RouteResolver_Regexp(),
new Routing\RouteResolver_Modular(),
new Routing\RouteResolver_Hostname(),
new Routing\RouteResolver_Chain()
));
$router
->addRoute('account.login', array(
'type' => 'static',
'uri' => 'login',
'module' => 'account',
));
$router->match();
$forumRoute = array(
'type' => 'hostname',
'pattern' => 'forum.pyha.localhost',
'reverse_pattern' => 'forum.pyha.localhost',
'module' => 'forum',
),
$router
->addRoutes(array(
'forum.board.view' => array(
'type' => 'chain',
'routes' => array(
$forumRoute, // вот она, цепочка правил
array(
'type' => 'regexp',
'pattern' => '(\d+)',
'reverse_pattern' => '%d',
'params' => array('board_id'),
'controller' => 'board',
'action' => 'view'
),
),
),
'forum.topic' => array(
'type' => 'chain',
'routes' => array(
$forumRoute,
array(
'type' => 'regexp',
'pattern' => '(\d+)/(\d+)', // шаблон для поиска совпадения урл
'reverse_pattern' => '%d/%d', // шаблон для генерации урл
'params' => array('board_id', 'topic_id'), // параметры, которые должны совпасть
'controller' => 'topic',
'action' => 'view'
),
),
),
);
$serverParams['host'] = 'forum.pyha.localhost';
$serverParams['path'] = '/foo';
// ничего не совпадет
$serverParams['host'] = 'forum.pyha.localhost';
$serverParams['path'] = '/12';
// совпадет маршрут forum.board.view
array(
'_module' => 'forum',
'_controller' => 'board',
'_action' => 'view',
'board_id' => 12
);
// а при раскладе
$serverParams['host'] = 'forum.pyha.localhost';
$serverParams['path'] = '/12/41';
// будет
array(
'_module' => 'forum',
'_controller' => 'topic',
'_action' => 'view',
'board_id' => 12,
'topic_id' => 41
);
29 октября 2010 г. 14:18, спустя 7 минут 21 секунду
а если нет, то вопрос: нахуй вообще приводить эти непонятно-что-значащие цифры?
29 октября 2010 г. 14:32, спустя 13 минут 31 секунду
29 октября 2010 г. 14:43, спустя 11 минут 26 секунд
'http://<user:[^www]>.site.ru/<action>' => 'user/<action>'
30 октября 2010 г. 0:53, спустя 10 часов 9 минут 30 секунд
30 октября 2010 г. 10:40, спустя 9 часов 47 минут 48 секунд
30 октября 2010 г. 17:08, спустя 6 часов 27 минут 52 секунды
$routeParams = array(
'uri' => 'blog',
'module' => 'blog',
'suffix' => '.html'
);
Страницы: ← Следующая страница →
Пожалуйста, авторизуйтесь, чтобы написать комментарий!