2017-10-16 4 views
3

自分のLaravel 5.5パッケージを作成したいと思います。/packages/myvendor/mypackageに入れます。 MyServiceProvider::classconfig/app.phpに追加せずにLaravel Package Auto-Discoveryに自分のパッケージを見せる方法はありますか?Laravel 5.5でパッケージを特別なディレクトリに見つけるには?

+0

これを落とした人は誰も質問を理解しませんでした。この質問は完全に有効であり、適切に述べられています。 – Julian

答えて

3

解決策が見つかりました!私は

"repositories": [ 
     { 
      "type": "path", 
      "url": "packages/vendor/package", 
      "options": { 
       "symlink": true 
      } 
     } 
    ] 

が続いcomposer require vendor/package:dev-masterと私のパッケージを必要とcomposer.jsonために私の地元のパッケージを追加します。それからlaravelは私のパッケージを自動的に発見します

+0

これは素晴らしいです:-) symlink ":true"オプションは、開発中のパッケージのルートディレクトリからアプリケーションの 'vendor'ディレクトリへのシンボリックリンクを正しい' {vendor}/{ pachage} 'ディレクトリにあります。クラスには厳密には必要ではありませんが、一部のツールでは、特定のファイルが特定の場所にあることを期待しています(Laravelのパッケージ検出機能など)。 – Jason

0

これは公式ドキュメントのものです。このようにcomposer.jsonで設定する必要があります

"extra": { 
    "laravel": { 
     "providers": [ 
      "Foo\\Bar\\ServiceProvider" 
     ], 
     "aliases": { 
      "Bar": "Foo\\Bar\\Facade" 
     } 
    } 
} 

これでパッケージが自動的に検出されます。詳細な説明については、hereは、Laravel 5.5の自動検出に関するタイラーの記事です。

+0

私はすでにこれを行っていますが、laravelは私のパッケージを自動的に認識しません。私はそれを認識するために私のプロバイダをapp configに追加する必要があります。私は 'src /'をメイン 'composer.json'に追加しました – HuynhAT

+0

あなたはこの" artisan package:discover "を試しましたか? –

+0

私は '' php artisan package:discover''を作ってみましたが、まだ私のパッケージが見えません。 – HuynhAT

関連する問題