×

laravel5.4route.php

关于laravel5.4route.php的信息

admin admin 发表于2023-03-29 13:07:07 浏览65 评论0

抢沙发发表评论

本文目录一览:

laravel web.php 中 Route 为什么可以直接使用

public是官方给出的默认路径,为什么要改,phpartisanserve是一个PHP+5.4以上的内置开发服务器,你可以使用Apache或是Nginx作为你自己的服务器,建议使用laravel官方推出的虚拟盒子homestead,非常好用。

【PHP】laravel中获取当前路由名称

结论:Route类是必须引入的。所以可以调用静态方法 currentRouteName()。

1 - 为什么不引入Route类也可以运行?

因为Route类是在系统启动时作为全局类进行了注册。

在文件 config/app.php 文件内如下所示:

Route门面此处注册到全局,也就是根命名空间。所以在程序内,直接使用 Route::method() 不会有任何问题。

我们在编程中,对于全局注册的类,也需要通过此方法,添加注册。

2 - 获取当前路由名称的一些方法举例

使用Route类的方法:

Route::getCurrentRoute()-getPath();

或者使用Request类的方法:

\Request::route()-getName();

laravel 5.1 你得这么写:

use Illuminate\Support\Facades\Route;

$currentPath= Route::getFacadeRoot()-current()-uri();

到了5.2版本,就是题主的写法:

Route::currentRouteName();

5.3版本到5.8版本,更加灵活了:

$uri = $request-path();

使用 Request 对象的方法就可以返回。获取路由,路由名称,方法名:

$route = Route::current();

$name = Route::currentRouteName();

$action = Route::currentRouteAction();

到了laravel 7.x 对请求对象 Request 有了更加丰富的特性:

$request-route()-getName();

结语

以上获取路由名的方法,根据不同laravel版本,进行不同的处理。

细节上的不同一定要多加注意。

如何在laravel routes.php里获取控制器和action名称

 添加进去代码以后,根据提示找到Controller.class.php,手动添加如下代码:

/**

* 获取当前Action名称

* @access protected

*/

protected function getActionName() {

if(empty($this-name)) {

// 获取Action名称

$offset=strrpos(get_class($this), '\\', -10); // 从尾部第 10 个位置开始查找

$this-name = substr(get_class($this),$offset+1,-10);

}

return $this-name;

}

复制代码

然后在可以在控制器中使用routes.php方法获取控制器名称了