ginioo / route
该软件包最新版本(dev-master)没有可用的许可信息。
这是一个微路由组件。
dev-master
2017-10-07 05:35 UTC
Requires
- php: >=5.3.27
This package is auto-updated.
Last update: 2024-09-28 23:32:05 UTC
README
这是一个微组件,让您轻松构建小型沙盒网站。
安装说明
$ composer require ginioo/route
用法
在项目根目录下添加 route.php
,并按照以下示例代码进行设置
<?php $route = new \Ginioo\Route\Route; // use this only under develop environment $route->debug(function ($input) { error_reporting(E_ALL); // 設定錯誤訊息層級 ini_set("display_errors", 1); // 設定是否顯示錯誤訊息 ini_set("display_startup_errors", 1); ini_set("html_errors", 1); $uniqId = uniqid('', true); echo "<hr/>"; echo "<strong>{$_SERVER['HTTP_HOST']}:</strong>Hello {$uniqId}"; echo "<br>debug start<br>"; var_dump($input); echo '<br>debug end<br>'; }); // route settings $route->group('endpoint', function() use ($route) { $route->group('v1.0', function() use ($route) { // route: /endpoint/v1.0/test/123/ // ":id" is a variable // "?": means optional $route->get("test/:id?/", "\Ginioo\Route\TestController", "test"); }); }); return $route;
在项目根目录下添加 index.php
,并按照以下示例代码进行设置
<?php //using composer's autoload require 'vendor/autoload.php'; $route = require 'route.php'; $inputData = $route->getInputData(); $requestRoute = $route->getRequestRoute(); try { // use this only under develop environment if (isset($inputData['debug']) && $route->hasRoute('debug')) { $route->emit('debug', $inputData); } // 觸發事件 if ($route->hasRoute($requestRoute)) { $route->emit($requestRoute, $inputData); } } catch (Exception $e) { // use this only under develop environment echo $e->getMessage(); }
如果您使用 Apache,则在项目根目录下添加 .htaccess
,并按照以下示例代码进行设置
RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule "^(.*)" "index.php" [NC,L]