2016-12-09 57 views
3

larvelアプリケーションでhttps://github.com/azuyalabs/yasumiパッケージを使用したいと思います。このライブラリはありLaravelにYasumi PHPライブラリを追加する(Laravelの方法で)

config/app.phpにおけるサービスprovidersaliases(ファサード)を登録インストールした後、私は希望laravelパッケージで、今

$ composer require azuyalabs/yasumi

は、私が使用してインストールをしましたそれのいくつかのファサードは自分のものです。

このライブラリをLaravelに統合するにはどうすればよいですか?

新しいサービスプロバイダクラスを作成してYasumiを登録する必要がありますか?それが上書きされたりしても倍に置き換えられるように私は、ベンダーのフォルダにそれをしないだろう

class YasumiServiceProvider extends ServiceProvider 
{ 
    /** 
    * Bootstrap the application services. 
    * 
    * @return void 
    */ 
    public function boot() 
    { 
     // 
    } 

    /** 
    * Register the application services. 
    * 
    * @return void 
    */ 
    public function register() 
    { 

    } 
} 

:よう 何か。私のコメントから拡大

+0

フォークして変更し、オリジナルの代わりにフォークを読み込むためにコンポーザーを使用します。 – Kyslik

+0

私もそれについて考えていましたが、元のパッケージに加えられた変更のすべての時間を追跡する必要があります。自動的には更新されません。 –

+0

またはあなたの運を試して、PRを作成してください... – Kyslik

答えて

1

フォークリポジトリを、変更(あなたが常にあなたのフォークに元から「自己プルリクエスト」を作ることができ、注意してください)を作ります。変更がcomposer.jsonファイル

{ 
    "name": "...", 
    "type": "project", 
    "description": "...", 
    "repositories": [ 
    { 
     "type": "vcs", 
     "url": "https://github.com/{YOUR GITHUB NAME}/yasumi" 
    } 
    ], 
    "require": { 
    "php": ">=5.6.4", 
    "laravel/framework": "5.3.*", 
    "azuyalabs/yasumi": "dev-{NAME OF BRANCH IN FORK}" 
    }, 
    ... 

内の使用これを完了したら

:プレースホルダが使用{YOUR GITHUB NAME}にあり、{NAME OF BRANCH IN FORK}
は:ウェブフックはthisを参照してください使用して、あなたのフォークを同期します。


追加Laravelサービスプロバイダを使用することができますので、他のPRを行います。

+0

さらにブラウジング私はこの記事にアクセスしました:http://stackoverflow.com/questions/36745626/cant-load-a-non-laravel-composer-package?rq = 1とすると、サービスプロバイダとしてロードしたり、提案したように使用することが本当に重要かどうか疑問に思っていました。 –

+0

https://github.com/azuyalabs/yasumi#usageそうですね。 新しいサービスプロバイダを登録する理由はありますか? –

+0

あなたはLaravelの方法について言及しました。私の答えはそれを行う方法を提供し、フォークにServiceProviderを作成し、今からあなたのフォークを使用します。私はPRをすることをお勧めします!そして、それが合併されたらあなたのフォークを削除し、オリジナルのLaravel Wayを使用します:)私はプロバイダに固執するとは確信していませんが、あなたが知っているだけの個人的な好みです。 – Kyslik

1

これは簡単な方法です。

あなたのアプリで、その後

public function register() 
{ 
    $this->app->singleton('yasumi', \Yasumi\Yasumi::create('USA', 2016)); 
} 

App\Providers\AppServiceProviderでは、次にthe documentationのように続けていく

$holidays = app('yasumi'); // now the equivalent of = \Yasumi\Yasumi::create('USA', 2016) 

を使用することができます。

などの変数の割り当てを避けることさえできます。

foreach(app('yasumi')->getHolidayNames() as $name) 
{ 
    echo $name . PHP_EOL; 
} 
関連する問題