Laravel 完美使用ThinkPHP路由

  1. 实现了管道中间件

  2. 实现了通过注解自定义中间件,关于注解中间件这块欢迎私信我获取

    Route::any('{module}.{controller}.{action}', function($module, $controller, $action) {
     $class = 'App\\Http\\Controllers\\' . $module . '\\' . $controller;
     if(class_exists($class)) {
         $obj = App::getFacadeApplication()->make($class);
         if(method_exists($obj, $action) && $obj instanceof \App\Http\Controllers\Controller) {
    
             // 获取中间件 欢迎私信获取,拉你进群和大家伙交流
             $middles = [];
    
             // 使用管道执行Laravel中间件, 解析出来的中间件
             return (new Pipeline(App::getFacadeApplication()))
                 ->send(Request::getFacadeApplication())
                 ->through($middles)
                 ->then(function() use ($action, $obj) {
                     return $obj->callAction($action, []);
                 });
         }
     }
     throw new ServerException("$module.$controller.$action 接口不存在");
    
     })->where(['module' => '[0-9a-zA-Z]+', 'class' => '[0-9a-zA-Z]+', 'action' => '[0-9a-zA-Z]+']);
    
    
    

好了大概就是这些,还有一些事件的执行,因为没用到,所以就没去弄

php
本作品采用《CC 协议》,转载必须注明作者和本文链接
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 11

1、不要用这种方式吸粉进群,我们程序员最恨这种套路~ 2、我都用laravel了,TP就让它过去吧~

2个月前 评论
L学习不停 2个月前
Epona

使用命名路由不香么😂,这种bug找起来都不知道去哪个控制器去找。手写路由知道url,就可以知道是哪个控制器了。

2个月前 评论
h6play (楼主) 4周前

1、不要用这种方式吸粉进群,我们程序员最恨这种套路~ 2、我都用laravel了,TP就让它过去吧~

2个月前 评论
L学习不停 2个月前

U*震惊部的既视感

2个月前 评论

都laravel了 谁还去用tp啊

2个月前 评论
黑将军

laravel用tp的路由?吃饱了没事干

2个月前 评论

这……大概要从很久很久以前说起

1个月前 评论

我是把 tp 改成 laravel 的写法,居然有人把 laravel 改成 tp 的

4周前 评论

现在还有很多人用TP 吗?

4周前 评论

这种路由在 laravel 框架里是没有市场的

4周前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!