言語ファイル設定)公開アセットファイルグループの公開イントロダクションパッケージはLaravelに機能を追加する一番重要な方法です。パッケージとして何でも動作させることができます。日付ライブラリーであるCarbonや、振る舞い駆動開発(BDD)テストフレームワークのBehatなどです。パッケージには色々な種類が存在しています。スタンドアローンで動作するパッケージがあります。動作させるのにLaravelに限らず、どんなフレームワークも必要としません。CarbonもBehatもスタンドアローンパッケージの例です。Laravelと一緒に使用するにはcomposer.jsonファイルでただ使用を指定するだけです。逆にLaravelと一緒に使用することを意図したパッケージもあります。したパッケージはLaravelアプリケーションを高めることを特に意図したルート、コントローラー、ビュー、設定を持つことでしょう。このガイドはLaravelに特化したパッケージの開発を主に説明します。サービスプロバイダーサービスプロバイダーはパッケージとLaravelを結びつけるところです。サービスプロバイダーは何かをLaravelのサービスコンテナと結合し、ビューや設定、言語ファイルのようなリソースをどこからロードするかをLaravelに知らせる責務を持っています。サービスプロバイダーはIlluminate\Support\ServiceProviderクラスを拡張し、registerとbootの2メソッドを含んでいます。Composerパッケージにあります。サービスプロバイダーの構造と目的について詳細を知りたければ、ドキュメントを調べてください。ルーティングパッケージのルートを定義するには、パッケージのサービスプロバイダーのbootメソッドからルートファイルをrequireするだけです。ルートファイルの中は典型的なLaravelアプリケーションと同様にRouteファサードを使いルートを登録します。}}リソースビューパッケージのビューをLaravelへ登録するには、ビューがどこにあるのかLaravelに知らせる必要があります。そのためにはサービスプロバイダーのloadViewsFromメソッドを使用してください。loadViewsFromメソッドは2つの引数を取ります。ビューテンプレートへのパスと、パッケージの名前です。パッケージ名が"courier"であれば、以下の行をサービスプロバイダーのbootメソッドに追加してください。&#39;courier&#39;);}パッケージのビューはダブルコロンを使うpackage::view記法を使い参照します。courierパッケージのadminビューをロードするには、次のように書きます。view(&#39;courier::admin&#39;);});パッケージビューのオーバーライドloadViewsFromメソッドを使用する場合、Laravelはビューの2つの場所を実際には登録します。一つはアプリケーションのresources/views/vendorディレクトリーで、もう一つは皆さんが指定したディレクトリーです。courierの例を使って確認しましょう。パッケージのビューがリクエストされると、Laravelは最初にresources/views/vendor/courierの中にカスタムバージョンのビューが開発者により用意されていないかチェックします。カスタムビューが用意されていなければ、次にloadViewsFromの呼び出しで指定したパッケージビューディレクトリーを探します。この仕組みのおかげで、パッケージのビューがエンドユーザーにより簡単にカスタマイズ/オーバーライドできるようになっています。ビューの公開パッケージのビューをresources/views/vendorディレクトリーで公開したい場合は、サービスプロバイダーのpublishesメソッドを使ってください。publishesメソッドはパッケージのビューパスと対応する公開場所の配列を引数に取ります。Artisanコマンドを実行すると、パッケージのビューは指定された場所へコピーされます。言語ファイルパッケージに言語ファイルを含んでいる場合は、loadTranslationsFromメソッドでLaravelへどのようにロードするのかを知らせてください。パッケージ名がcourierであれば、以下の行をサービスプロバイダーのbootメソッドに追加します。&#39;courier&#39;);}パッケージの言語行はダブルコロンを使うpackage::file.line記法を使い参照します。courierパッケージのmessages.phpファイルからwelcome行をロードする場合、次のようになります。trans(&#39;courier::messages.welcome&#39;);翻訳の公開パッケージの翻訳をアプリケーションのresources/lang/vendorディレクトリーへ公開したい場合は、サービスプロバイダーのpublishesメソッドを使ってください。publishesメソッドはパッケージパスと対応する公開位置の配列を受け取ります。例のcourierパッケージの翻訳ファイルを公開してみましょう。Artisanコマンドを実行すると、パッケージの翻訳が指定した場所へ公開されます。通常、あなたのパッケージの設定ファイルをアプリケーション自身のconfigディレクトリーへ公開したいことでしょう。これにより、あなたのデフォルト設定オプションをユーザーに簡単にオーバーライドしてもらえるようになります。設定ファイルを公開するには、サービスプロバイダーのbootメソッドで、publishesメソッドを使用するだけです。]);}これであなたのパッケージのユーザーがLaravelのvendor:publishコマンドを実行すると、ファイルが指定された場所へコピーされます。設定ファイルが一度公開されると、他の設定ファイル同様に設定内容へアクセスできるようになります。config(&#39;courier.option&#39;);デフォルトパッケージ設定もしくはあなたのパッケージ設定ファイルをアプリケーションのファイルへマージすることを選ぶこともできます。これにより設定の公開済ファイルの中で、実際にオーバーライドしたいオプションだけを含めてもらう指定方法をユーザーに取ってもらえます。設定ファイルをマージする場合はサービスプロバイダーのregisterメソッドで、mergeConfigFromメソッドを使います。);}公開アセットパッケージにはJavaScriptやCSS、画像などのアセットを含むと思います。アセットを公開するには、サービスプロバイダーのbootメソッドでpublishesメソッドを使用してください。次の例では、関連するアセットをまとめて公開するためにpublicアセットグループタグも追加指定しています。&#39;public&#39;);}これにより、皆さんのパッケージのユーザーは、vendor:publishコマンドを実行できるようになりました。実行すれば皆さんのファイルは指定された場所へコピーされます。通常、パッケージがアップデートされる度に、アセットを上書きする必要があります。--force公開アセットをいつも確実にアップデートしたい場合は、このコマンドをcomposer.jsonファイルのpost-update-cmdリストへ追加します。ファイルグループの公開アセットとリソースのパッケージグループを別々に公開したいこともあるでしょう。パッケージのアセットの公開を強要せずに設定ファイルを公開したい場合です。publishesメソッドの呼び出し時の「タグ指定」で行えます。例としてパッケージのサービスプロバイダーのbootメソッドで2つの公開グループを定義してみましょう。Artisanコマンドを使用するときにタグ名を指定することでグループを別々に公開できます。kawase(Translation).。