skillup

技術ブログ

PHP

サービスプロバイダとは

投稿日:

Laravelをやっていて、次に分かり難かった概念、サービスプロバイダについて。

アプリケーション開発にはデータベース、ファイル操作、ログ操作など様々な操作があり、個別のビジネス処理以外で共通化できるものが多々あります。

これらをサービスコンテナといい、Laravelでは config/app.php で一覧が列挙され、個別のProvidersに関しては app/Providers 以下に定義されています。

一例としてDebugbarを登録した時の例です。

config/app.php

app/Providers/AppServiceProvider.php

このように登録することによって、メリットはMiddlewareと近いのですが、

  • 個別のビジネスロジックに共通処理を入れる必要がない
  • 変更があった時にここのビジネスロジックとサービスが連動しておらず、保守性が高い

と言うことが言えるかと思います。

-PHP
-

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

PDFテンプレートの活用

PDFのテンプレートの活用について。 PDFを出力するプログラムはいろいろありますが、今回はすでにあるPDFをテンプレート化できるライブラリについて。 Contents1 FPDI2 ソース3 参考リ …

no image

ログライブラリについて

以前にも少し書いたログ設計に関する記事。 ログの設計指針について 上記でログの設計について書きましたが、今回はログのライブラリに関して欲しいと思う機能を。 Contents1 レベル分け2 チャネルわ …

no image

dateTimeの使い方

phpの日付ライブラリであるdateTimeについて。 Contents1 過去のリンク2 頻出表現3 リンク 過去のリンク CakePHP3 日付ライブラリ(Time)について http://ski …

no image

PHPコマンドに関して

今更ですが、使えると思ったPHPコマンドなど。 Contents1 php -r2 php -l3 php -a4 php -i, php -m php -r PHPをそのまま実行させる。 perlで …

no image

cakeでのUtilityメソッド

cakeではControllerから呼ぶメソッドはComponent,ModelはBehavior、ViewはHelperに記述するのが一般的です。 ところが、プログラムを書いているとUtility系 …