0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

October CMS プラグイン実装テク:プラグインから自動的にファサードやサービスプロバイダを登録する

Last updated at Posted at 2017-11-19

OctoberCMSプロジェクトの config/app.php を変更しなくても、プラグインから自動的にファサードやサービスプロバイダを登録できる。プラグインで追加したパッケージのファサードなどを利用可能にしたい場合などに便利。

Plugin.php の boot() メソッドで App::register() でサービスプロバイダを、AliasLoader::alias() でファサードを登録する。

下記はpikanji/agent-pluginでの実装例。

Plugin.php
class Plugin extends PluginBase
{
    public function boot()
    {
        // Enable jessengers/agent package and register Agent facade.
        App::register('Jenssegers\Agent\AgentServiceProvider');
        AliasLoader::getInstance()->alias('Agent', 'Jenssegers\Agent\Facades\Agent');
    }

ちなみに "Call to undefined method" とエラーになる場合は↓これで解決するかも。
Laravelトラブルシューティング:facadeのメソッドが undefined エラーになる

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?