alin11/routerion

快速且强大的PHP路由器

v0.1.13 2018-11-26 19:51 UTC

This package is not auto-updated.

Last update: 2024-09-29 05:55:14 UTC


README

一个简单、快速且强大的PHP路由器

  • 轻松定义路由
  • 动态路由参数
  • 支持各种HTTP方法
  • 支持REST API

安装

  1. 您可以使用composer安装Routerion

$ composer require alin11/routerion

  1. 在根目录下创建一个.htaccess文件
Options +FollowSymLinks
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule ^ %1 [L,R=301]

RewriteRule ^(.*)$ index.php [NC,L]
  1. 创建config.php文件或将以下PHP常量添加到您的配置文件中
<?php
define('CONTROLLER_PATH', __DIR__ . '\Controllers');
define('CONTROLLER_NAMESPACE', '\Controllers');

用法

让我们定义我们的路由。要定义路由,如果在根目录下不存在,请创建一个index.php文件,或者创建一个routes.php文件并将其包含到index.php文件中

<?php

require 'config.php';
require __DIR__.'/vendor/autoload.php';

$route = new Routerion\Route(new Routerion\Exceptions\APIException);


$route->get('/', 'HomeController@index');
$route->get('/users', 'Auth\UsersController@index');
$route->get('/users/{name}/{age?}', 'Auth\UsersController@single');

$route->post('/get-user-info/{id}', 'Auth\UsersController@getUserInfo');

$route->get('closure', function(){
  echo 'This is closure';
});


$route->get('closure-with-parameters/{required}/{optional?}', function($required, $optional = null){
  echo $required;
  echo $optional;
});

$route->run();

控制器

控制器文件位于Controllers目录中。如果您有不同的控制器目录或命名空间,请编辑config.php中的常量。

许可

MIT许可:https://open-source.org.cn/licenses/MIT