启动 Laravel 应用程序时执行函数

n00*_*dle 5 php startup laravel

我想在启动 Laravel 应用程序时执行一个函数。
到目前为止,我使用了“AppServiceProvider”的启动函数,但是我的函数执行得非常频繁。
如何在启动时执行一次我的函数?

到目前为止,这是我的代码:

class AppServiceProvider extends ServiceProvider
{
    /**
     * Register any application services.
     *
     * @return void
     */
    public function register()
    {
        //
    }

    /**
     * Bootstrap any application services.
     *
     * @return void
     */
    public function boot()
    {
        //
        SocialController::init();
    }
}
Run Code Online (Sandbox Code Playgroud)

Jos*_*eph 3

laravel 服务容器中有一个很棒的功能,叫做Singleton

此功能您绑定到它的每个东西都只能工作一次,这意味着您的实例class将是相同的

我认为这对于为第三方令牌注册 apiToken 之类的事情很有帮助

所以你只需要操作系统来写这样的东西

$this->app->bind(SocialController::class, function ($app) {
    return SocialController::init();
});
Run Code Online (Sandbox Code Playgroud)