2016-09-02 4 views
2

私はLaravelパッケージをビルドしていますが、Laravelベースパスのディレクトリを指すpsr-4名前空間を追加することでコンポーザを更新する特別な機能があります。composer.jsonをLaravelコントローラからアップデートするには

私はこれまでこれを試しましたが、うまくいきません。

その後
$loader = include(base_path('vendor/autoload.php')); 

$loader->add('Classes\Weather', base_path('modules')); 

$weather = new Classes\Weather\WeatherSite(); 
+0

あなたはそれだけですか?私もこの問題があります – paranoid

+0

まだありません。まだ道を探しています。 – Digitlimit

+0

これは私のポストです。http://stackoverflow.com/questions/39545096/how-to-manually-add-classloader-in-laravel-5 – paranoid

答えて

1

をし、作曲のドキュメントを通過、私は来ることができましたこれで動作します:

NB:このソリューションが必要なのは、私がLaravelパッケージから自動的にPsr4パスを追加できるようにするためです。composer.jsonで手動でパッケージに必要な特定のパスを手動で追加する必要はありません。

パッケージサービスプロバイダのブートメソッド、鉱山はDigitlimitModuleServiceProvider

use Illuminate\Support\ServiceProvider; 

class DigitlimitModuleServiceProvider extends ServiceProvider 
{ 
    /** 
    * Bootstrap any application services. 
    * 
    * @return void 
    */ 
    public function boot() 
    { 
     $autoload = require base_path('vendor/autoload.php'); 
     $autoload->addPsr4('Digitlimit\\Module\\', base_path('modules')); 
     $autoload->register(); 

     if(!file_exists(base_path('modules'))){ 
      \File::makeDirectory(base_path('modules')); 
      //works as long as there is permission 
     } 
    } 

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

    } 
} 
関連する問題