在Laravel(5.2)中有没有什么方法可以调用自定义对象中的静态和/或非静态函数,而不必在所有使用它的类中示例化引用对象?
示例:我有一个带有公共函数doBeforeTask()
的类App\Helpers\Utilities.php
我在我的项目中的很多类中使用了这个方法,如果我可以只调用Utilities::doBeforeTask()
或Utilities->doBeforeTask()
而不创建我的Utilities对象$obj = new Utilities();
的示例,那就太好了
6条答案
按热度按时间esyap4oy1#
将方法定义为静态方法,并使用以下代码在任何地方调用它:
文件App\Helpers\Utilities.php的代码结构
lf5gs5x22#
将方法定义为静态方法,并在任何地方调用它
让我们举一个例子
指定名称空间
就像这样:
"别忘了跑步"
siv3szwd3#
如果它是一个不能更改为static的方法(即它是一个供应商文件),那么你可以在PHP〉= 5.4中进行更改
7ivaypg94#
定义静态函数
现在调用Foo::staticFunction()
uqjltbpv5#
Laravel也有一个外观实现,这可能是TS的想法。这些外观将为您做基本上所有的事情,最有可能也解决了“供应商文件”的问题。
https://www.larashout.com/creating-custom-facades-in-laravel
基本上,你必须提供一个它的示例,并将你的外观指向它,这反过来又得到了你注册的别名。
kr98yfug6#
对于动态静态调用
PHP程式码