Laravel - 如何在没有实例化对象的情况下调用静态函数

新手上路,请多包涵

Laravel (5.2) 中是否有任何方法可以在自定义对象中调用静态和/或非静态函数,而不必在它使用的所有类中实例化引用对象?

示例:我有类 App\Helpers\Utilities.php 具有公共功能 doBeforeTask()

我在我的项目中使用这个方法分配类,如果我可以调用 Utilities::doBeforeTask()Utilities->doBeforeTask() 而不创建我的实用程序对象的实例 $obj = new Utilities();

原文由 boomdrak 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 347
2 个回答

将您的方法定义为静态方法。并使用以下代码在任何地方调用它:

 Utilities::doBeforeTask();

文件 App\Helpers\Utilities.php 的代码结构

namespace App\Library;

class Utilities {

 //added new user
 public static function doBeforeTask() {
  // ... you business logic.
 }
}

原文由 Basit Munir 发布,翻译遵循 CC BY-SA 3.0 许可协议

将您的方法定义为静态方法。并在任何地方调用它

让我们举个例子

 namespace App\Http\Utility;

    class ClassName{

        public static function methodName(){
         // ... you business logic.
        }
    }

你想在哪里使用指定命名空间

像这样:

 use App\Http\Utility\ClassName;

ClassName::methodName();

别忘了跑

composer dump-autoload

原文由 Parth kharecha 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏