yzmcms / route
这是一个最小的PHP路由。
v1.1.1
2019-07-03 11:01 UTC
Requires
- php: >=5.3.0
This package is auto-updated.
Last update: 2024-09-29 05:02:38 UTC
README
安装
如果您有Composer,只需在您的 composer.json
中将route作为一个项目依赖项包含。如果没有,只需下载.ZIP文件并将其解压缩到您的项目目录中。
require: {
"yzmcms/route": "*"
}
示例
首先,使用
路由命名空间
use yzmcms\route\route;
route不是一个对象,因此您可以直接对类进行操作。以下是一个Hello World示例
route::get('/', function() { echo 'Hello world!'; }); route::exec();
route也支持lambda URI,例如
route::get('/(:any)', function($slug) { echo 'The slug is: ' . $slug; }); route::exec();
您也可以在route中对HTTP方法进行请求,因此您也可以这样做
route::get('/', function() { echo 'I'm a GET request!'; }); route::post('/', function() { echo 'I'm a POST request!'; }); route::any('/', function() { echo 'I can be both a GET and a POST request!'; }); route::exec();
示例:将请求传递到控制器而不是闭包
将命名空间路径传递给控制器而不是闭包是可能的对于这个演示,假设我有一个名为controllers的文件夹,其中有一个demo.php文件
index.php
require('vendor/autoload.php'); use yzmcms\route\route; route::get('/', 'Controllers\demo@index'); route::get('page', 'Controllers\demo@page'); route::get('view/(:num)', 'Controllers\demo@view'); route::exec();
demo.php
<?php namespace controllers; class Demo { public function index() { echo 'home'; } public function page() { echo 'page'; } public function view($id) { echo $id; } }
这是通过composer安装route的。
composer.json
{
"require": {
"yzmcms/route": "*"
},
"autoload": {
"psr-4": {
"" : ""
}
}
}