ホームページ > バックエンド開発 > PHPチュートリアル > laravel拡張パッケージの設定ファイルをconfigフォルダにコピーする問題を解決

laravel拡張パッケージの設定ファイルをconfigフォルダにコピーする問題を解決

WBOY
リリース: 2016-06-20 12:29:58
オリジナル
2154 人が閲覧しました

拡張パックを作成するとき、その中に含まれるパーソナライズされた構成の一部をどのように扱うかについて常に苦労します。

Laravel はこの問題を非常にうまく解決します。

Laravel の ServiceProvider は、この問題を非常にうまく解決します。

特に、拡張パッケージを外部で構成する場合は、まずパッケージをサービスとして登録する必要があります。

まず、ServiceProvider を継承するクラスを定義する必要があります。

1. その中に、パッケージで使用される構成ファイルの絶対パスを指定する register 関数を定義し、内容をマージします。構成された外部ファイルと内部ファイルの。

2. ブート関数で、公開する特定の場所を指定します。

コードは次のとおりです

<?php/** * Created by Bane.Shi. * Copyright MoenSun * User: Bane.Shi * Date: 16/4/30 * Time: 00:06 */namespace MoenSun\MSFileSystem;use Illuminate\Support\ServiceProvider;class MSFileSystemServiceProvider extends ServiceProvider{    public function register()    {        $configPath = __DIR__ . '/../../../config/mslaravelsystem.php';        $this->mergeConfigFrom($configPath,"mslaravelsystem");    }    public function boot(){        $app = $this->app;        $configPath = __DIR__ . '/../../../config/mslaravelsystem.php';        $this->publishes([$configPath => $this->getConfigPath()],'config');    }    public function getConfigPath(){        return config_path("mslaravelsystem.php"); }    protected function publishConfig($configPath)    {        $this->publishes([$configPath => config_path('mslaravelsystem.php')], 'config');    }}
ログイン後にコピー

config/app.php フォルダーにサービスを追加します

プロバイダーの下に

MoenSun\MSFileSystem\MSFileSystemServiceProvider::class
ログイン後にコピー

を追加しますarray 次に、

php artisan vendor:publish
ログイン後にコピー

を実行すると、ファイルが config フォルダーにコピーされます。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート