- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 Controller 父类,它接受中间件添加到 $request
的一些属性,并使它们对所有子类可用。
所以在我的中间件 handle()
函数中我有:
$request->attributes->add(['project' => $project]);
在我的 Controller 中 __construct()
我有:
$this->project = $request->attributes->get('project');
这在 5.2 中运行良好,但自升级到 5.3 后,我意识到 Controller __construct()
在我的中间件 handle()
函数之前被调用,并且所以 'project' 属性为 null
。
有谁知道为什么在 Controller 之后调用中间件?从 5.2 到 5.3 有什么变化吗?
谢谢!
最佳答案
看起来这是在 5.3 中发生的变化:
https://laravel-news.com/2016/08/controller-construct-session-changes-in-laravel-5-3/
所以现在你可以像这样在 Controller 构造函数中调用中间件:
$this->middleware(function ($request, $next) {
$this->request = $request;
$this->project = $request->attributes->get('project');
return $next($request);
});
因为 Controller 中间件最后会被调用,这样你就可以在路由中间件设置好之后访问类中的请求属性。
干杯。
关于laravel-5.3 - Laravel 5.3 Controller __construct 在中间件之前调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39534947/
我有一个这样的 PHP 类: class ParentClass { public function __construct($arg) { // Initialize a/s
什么时候调用__construct,什么时候调用index?还有其他区别吗? __construct 中要放什么?最好的做法是什么,我应该调用 $this->load 电话......?还有什么? c
我正在尝试为我的类(class)构建一个 __construct 函数。此函数应获取所有 $_REQUEST 值并将它们存储在一个数组中,以便以后可以通过 id 调用它们。问题是它不存储我的变量,我不
历史很少;我讨厌我不能在 CakePHP 中使用枚举,但我明白了。然而,我的另一个烦恼是我的 bool 值返回 0 或 1,并且没有办法将它们普遍地转换为"is"和“否”。 所以我想在 AppMode
如果我有: abstract class AbstractSingleton { protected static $instance; public static function
我在想你能不能帮我一下.. 我有两个类,一个扩展另一个。B 类将由各种不同的对象扩展并用于常见的数据库交互。现在我希望 B 类处理它的连接和断开连接,而无需来自 A 类或任何外部输入.. 据我了解,问
这个问题在这里已经有了答案: 关闭 11 年前。 Possible Duplicate: what is the function __construct used for? __construct
我已经注意到 __construct 很多与类。我做了一些阅读和网上冲浪,但找不到我能理解的解释。我只是从 OOP 开始。 我想知道是否有人可以大致了解它是什么,然后提供一个简单的例子来说明它是如何与
启用 MFA 时,Imagick 已实现生成二维码。尝试访问该页面以启用 MFA 时出现此错误: 500 ImagickPixel::__construct not implemented 这是更多信
所以我遇到了 PHP 类的“问题”。 我有几个类需要彼此的函数,所以目前我正在做以下事情: $db = new blueConnect; $core = new blueCore($db); $use
我目前在我的 PHP 类中使用构造函数来检查用户是否登录。构造函数调用一个函数来检查它们是否有 session ID 等——如果没有,它会将它们重定向到登录页面。这是我正在使用的想法: functio
我有一个模式Clients,那个用户的数据库表Clients Id | active ________________ 1 | true 2 | true 3 | false 我想更新这
我想知道我的理解是否正确。 我将数据库连接参数放在 __construct() 上,因此这意味着每次实例化该类时,我也会重新连接到我的数据库,对吗? private $handle; public f
我正在处理 oop class.php 文件。我想实现函数 __contruct()。我不知道为什么它不起作用。 我觉得有错误,但不知道怎么写。 $args['file_upload'] = $_FI
我正在使用 CI 3.X。现在在我的应用程序中我使用多个数据库。现在我的托管服务器允许最多 100 个连接,因此我的应用程序崩溃了。 在我的数据库配置中,我将 PCONNECT 保留为 FALSE 。
我有一个必须使用其他倍数对象实例化的 A 类 class A{ function __construct(new X(), new Y(), new Z()){ $this->foo
我在 __construct() 中定义了一个新变量,我想在这个 class 的另一个 function 中使用它。但是我的变量在另一个函数中是空的! 这是我的代码: class testObject
我知道有很多问题与此很接近。但是,我没有设法找到简单问题的答案(我不是在询问构造函数的返回值,我认为我理解构造函数应该返回什么)。 是否有任何理由避免在 __construct 中使用 return?
我有一个父类: Abstract Class Base { function __construct($registry) { // stuff } } 然后我至少有
基本上我有一个方法,我需要在构造函数完成时运行它(该方法称为 persist() 并且它只是将在构造函数期间生成的 key 保存到 session 中)。这看起来很简单,而且有效——在 __const
我是一名优秀的程序员,十分优秀!