作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
查看 Laravel 代码,我发现他们使用以下方法将变量从“路由”传递到“ View ”:
$arraysan = ['mike','robert','john']; **//Variable to be passed**
return view('home')->withArraysan($arraysan); **//Variable passed with** name "withArraysan"
在上面的语法中,他们调用了一个名为 withArraysan
的函数,该函数不存在。
有人可以解释一下 Laravel 中是如何处理它的吗?
最佳答案
PHP 已经有一段时间了 magic methods
的概念- 这些是特殊方法,可以添加到类中以拦截不存在的方法调用。
看来 Laravel Views 实现了 __call
- 然后拦截对对象上未定义方法的调用,并传递被调用方法的名称以及参数。这样,View 对象就可以看到 withArraysan
调用开始于 with
并调用具体方法 with
,传递第二部分 Arraysan
作为第一个参数,withArraysan
的参数作为第二部分。
关于php - Laravel 的 "withVariableName"是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36263007/
查看 Laravel 代码,我发现他们使用以下方法将变量从“路由”传递到“ View ”: $arraysan = ['mike','robert','john']; **//Variable
我是一名优秀的程序员,十分优秀!