$router->group(['namespace'=>'\App\Http\Controllers','prefix' => 'api'], function () use ($router) { $router->post('register', 'UserController@register'); $router->post('login', 'UserController@login'); $router->post('info', 'UserController@info'); $router->post('logout', 'UserController@logout');});
laravel的路由可以使用Route::get('/user', [UserController::class, 'index']);
看了一下源码,lumen 没办法支持 Laravel 中的这种写法,不过可以扩展一下,编辑一下 bootstrap/app.php 里面,有关 $app
这个变量初始化的地方,改成下面这样。
$app = new class (dirname(__DIR__)) extends Laravel\Lumen\Application { protected function callActionOnArrayBasedRoute($routeInfo) { $action = $routeInfo[1]['target'] ?? $routeInfo[1]; if ( is_array($action) && count($action) === 2 && class_exists($action[0]) && method_exists($action[0], $action[1]) ) { try { [$controller, $method] = $action; return $this->prepareResponse($this->call([$this->make($controller), $method], $routeInfo[2])); } catch (HttpResponseException $e) { return $e->getResponse(); } } return parent::callActionOnArrayBasedRoute($routeInfo); }};
(注:这段代码是我手敲的,未做完整测试)
然后就可以像下面这样使用了,并且 IDE 可以提示跳转。
$router->get('/foo', [ 'target' => [\App\Http\Controllers\ExampleController::class, 'index']]);$router->get('/foo', [\App\Http\Controllers\ExampleController::class, 'index']);
在旧版的 PhpStorm 上,这样可能还是不可以跳转,因为 \Laravel\Lumen\Routing\Router::get
方法的第二个参数的签名是 mixed
类型的,并不是 callback
,所以 IDE 可能还是无法识别。
可能还需要添加一个提示文件(在 laravel-ide-helper 里面加一下也可以)。
当然,如果你只需要提示+跳转的话,还有一个办法,那就是发动钞能力,PhpStorm 有个 Laravel Idea 是可以的,不过这是一个付费插件,3$/mo
另外,不太建议使用 lumen 作为新项目,因为项目复杂了之后,都会变成 Laravel 的形状。
本文向大家介绍react-router JS 控制路由跳转实例,包括了react-router JS 控制路由跳转实例的使用技巧和注意事项,需要的朋友参考一下 Link组件用于正常的用户点击跳转,但是有时还需要表单跳转、点击按钮跳转等操作。这些情况怎么跟React Router对接呢? 下面是一个表单。 第一种方法是使用browserHistory.push 第二种方法是使用context对象。
我的页面是三级嵌套路由,结构类似于 /message/detail/0。 但当我使用 this.$router.push('/index') 返回首页的时候,页面路径变成了/message/detail/index。 请问我该如何解决这个问题,希望从 /message/detail/0 页面直接跳转到 /index。 这个是路由配置的JS:
route(Object) 此为一个路由跳转方法,内部是对uni多个路由跳转api的封装,更方便使用 Object参数说明: 参数名 类型 默认值 是否必填 说明 type String navigateTo false navigateTo或to对应uni.navigateTo,redirect或redirectTo对应uni.redirectTo,switchTab或tab对应uni.swit
我这段代码可以生效,但是有个问题,不是动态化的。 参数类型我得写UserDto.class,我想动态化,我不知道参数类型到底是什么。
英文原文: http://emberjs.com/guides/routing/setting-up-a-controller/ URL的改变同时也可能改变显示的模板。而模板只有当其搭载了需要呈现的信息才有用。 在Ember.js中,模板从控制器中获取需要呈现的信息。 内置的两个控制器Ember.ObjectController和Ember.ArrayController,使控制器可以非常方便的呈
我正在尝试在我的nginx服务器上设置vue路由器。我遇到的问题是,如果我直接在浏览器中输入url,我的路线就不起作用。 我尝试了vue路由器文档中描述的服务器配置,以及建议的堆栈溢出类似配置。我当前的nginx位置配置如下: 所做的就是将任何路径重定向到我的根组件(path:),而不是。这确实有意义,并且似乎只重定向到索引文件。我如何重定向直接链接的到路由在我的VueJS应用程序? 以下是我的v