skillup

技術ブログ

PHP

サービスプロバイダとは

投稿日:

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

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

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

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

config/app.php

app/Providers/AppServiceProvider.php

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

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

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

-PHP
-

執筆者:


comment

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

関連記事

no image

CakePHP3 リクエストパラメーターの扱いについて

CakePHPのリクエストの扱いについて。 ほとんどのフレームワークですと、HTTPリクエストの扱いに関してはフレームワーク側で実装されていることが多いので、フレームワークを使い始める場合、この部分に …

no image

phpenvで入れたphpの起動スクリプトに関して

以前、CentOS7.7にphp5.3を入れるという案件がありましたが、yumなどでは入らないため、phpenvで入れました。 phpenv5.3+php-fpm が、起動スクリプトを配置していないこ …

no image

PHPにおけるDI

Contents1 DIについての概要2 自分が作った簡単なサンプル(リンクの写経)3 参考リンク DIについての概要 PHPでのDI(Dependency Injection)に関して。 オブジェク …

no image

ob_startを使ったバッファリング出力

先日var_dumpの結果をログに出力したいときに検索すると下記のようなコードを書けばよいということがわかりました。

ob_start …

no image

nginxの設定&php-fpmインストール

本日、久しぶりにPHPのWebアプリを別サーバーに移行したのですが、nginxの設定でかなり手間取りましたのでちょっと記録しておきます。 Contents1 nginxの設定1.1 インストール1.2 …

アーカイブ