skillup

技術ブログ

PHP

サービスプロバイダとは

投稿日:

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

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

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

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

config/app.php

app/Providers/AppServiceProvider.php

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

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

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

-PHP
-

執筆者:


comment

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

関連記事

no image

WordPressでのアイキャッチ画像

このブログと並行して更新しているガチンコ塾のブログですが、アイキャッチをブログ内にいれました。 画像をいれると文章の見やすさもだいぶ変わってくると思うので、アイキャッチの入れ方についてここに書いておき …

no image

laravelでの名前空間変更

laravelでの名前空間変更について。 laravelでモデルの場所はディフォルトだとapp/直下に作られます。 これをapp/Modelというディレクトリを作ってnamespaceを正常に定義した …

no image

eclipseでのPHPソースの扱い方

Contents1 既存ファイルからプロジェクト生成2 PHP5.4以降でコンパイルする3 ctpファイルのシンタックスハイライト 既存ファイルからプロジェクト生成 超小ネタですが、Eclipseです …

no image

PHPでのメール送信&カレントディレクトリ

PHPの小ネタ集です。 Contents1 メールでの改行2 PHPでのカレントディレクトリ メールでの改行 メールで改行する場合、いつも\nでOKだったんですが、本日これで送信すると送れないというバ …

no image

heroku+cakePHPによるメール送信

herokuに作ったアプリでメール送信機能を実装したのでその時のメモを。 まずメール送信自体はmb_send_mailなどではなく、SendGridというアプリを使います。 使い方ですが、heroku …

アーカイブ