Слияние кода завершено, страница обновится автоматически
composer require man0sions/router
1: git clone https://git.oschina.net/man0sions/Router.git
2: php -S 127.0.0.1:8080 public/index.php
3: В браузере перейдите по адресу: http://localhost:8080/home
$router = \LuciferP\Router\Base\RouterFactory::getRouter();
/**
* 1: Простое использование
* $res->status() устанавливает код ответа [по умолчанию 200] 200,404,500 ...
* $res->type() устанавливает тип ответа [по умолчанию text/html] text/json...
* $res->json() выводит json на страницу
* $res->jsonp() выводит jsonp на страницу
* $res->render() рендерит данные в указанную страницу
*/
$router->get('/home', function ($req, $res) {
// $res->status(200)->send(json_encode($req));
// $res->type('text/json')->send(json_encode($req));
// $res->json(['hello'=>'world']);
// $res->jsonp(['hello'=>'world']);
// $res->redirect("http://baidu.com");
$res->status(200)->type('text/html')->render(BASE_PATH . "/../views/view.php", ['name' => 'zhangsan', 'age' => 20]);
});
$router->run();
/**
* 1.1: get параметры
*/
$router->get('/hello/:name', function ($req, $res) {
$query = $req['get'];
$res->json($query);
});
/**
* 1.2 post параметры
*/
$router->post('/hello', function ($req, $res) {
$query = $req['post'];
$res->json($query);
});
### 2. Расширенное использование
$router->auth("/auth", function ($req, $res) {
$name = @$req['server']['PHP_AUTH_USER'];
$passwd = @$req['server']['PHP_AUTH_PW'];
if (!($name == 'admin' && $passwd == 'admin')) {
header('WWW-Authenticate: Basic realm="My Realm"');
header('HTTP/1.0 401 Unauthorized');
exit;
} else {
$res->send("Добро пожаловать обратно");
}
});
/**
* 2.2 Форматирование response
* html---\LuciferP\Router\ResponseData\HtmlData
* json---\LuciferP\Router\ResponseData\JsonData
* xml----\LuciferP\Router\ResponseData\XmlData
*/
$router->get('/name/:name/age/:age', function ($req, $res) {
$query = $req['get'];
$xml = $res->dataformat(new \LuciferP\Router\ResponseData\XmlData($query));
$res->type("text/xml")->send($xml);
});
/**
* 2.3 Указание всех [get,post] запросов "/"
*/
$router->all("/", function ($req, $res) {
$res->send("all page");
});
/**
* 3.1 : Только рендеринг HTML с layout
*/
$router->get('/home/index', '\LuciferP\Router\Controller\Home@index');
/**
* 3.2 : Вызов response для рендеринга данных
*/
$router->get('/home/index2', '\LuciferP\Router\Controller\Home@index2');
/**
* 3.3 : Передача HTML с layout в response для возврата
*/
$router->get('/home/index3', '\LuciferP\Router\Controller\Home@index3');
$router->run();
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )