Laravel PHP Global对象

时间:2017-07-08 15:01:56

标签: php laravel singleton

我是OOP世界的新手,我正在尝试制作一个Laravel应用程序。

我正在制作的应用是为了促进游戏。游戏有一个开始和结束日期。然而,在我的应用程序中,很高兴知道游戏的时间段(enddate - startdate)和相对于一年(期间/ 365)的相对时期。我在配置文件中定义了开始日期和结束日期。

创建一个我设置期间和相对期间的课程是否明智?该类只应实例化一次......所以单身?

欢迎提出任何指示/最佳做法!

1 个答案:

答案 0 :(得分:0)

您可以简单地创建一个静态类,以便永远不必实例化。

如果您想创建一个单身人士,可以查看Laravel docs

$this->app->singleton('HelpSpot\API', function ($app) {
    return new HelpSpot\API($app->make('HttpClient'));
});

将此添加到服务提供商的register方法(例如AppServiceProvider)之后,您可以通过在控制器方法中隐藏它或通过调用$api = resolve('HelpSpot\API');来访问它(见the docs