2015-06-10 85 views
10

Laravel 5.1正在重命名CommandsJobsEvents到。 http://laravel.com/docs/5.1/releases#laravel-5.1將Laravel 5.0升級到Laravel 5.1命令到作業

我在Laravel 5.0中使用CommandsCommand Handlers像這樣。

app\Commands\MyCommand

<?php namespace app\Commands; 

use app\Commands\Command; 

class MyCommand extends Command 
{ 

    public $data; 

    public function __construct($data) 
    { 
     $this->data = $data; 
    } 
} 

app\Handlers\Commands\MyCommand

<?php namespace app\Handlers\Commands\Genapps; 

use app\Commands\MyCommand; 

class MyCommandHandler 
{ 
    public function handle(MyCommand $command) 
    { 

    } 
} 

我不知道我應該如何實現Laravel 5.1處理程序?

+0

我最近使用Laravel Shift來[自動升級Laravel 5.0到5.1](https://laravelshift.com/upgrade-laravel-5.0-to-laravel-5.1)。做了這個,還有更多。 –

回答

4

從5.1 release notes

然而,這不是一個重大更改,你是不是需要更新到新的文件夾結構使用Laravel 5.1。

在你想升級的情況下,你只需要重命名文件夾,並更改命名空間(Laravel使用在版本5 PSR-4自動加載,所以該文件夾結構對應於文件的命名空間)。

但是,如果您的項目相當大,我不建議您這樣做,因爲文檔聲明這不是升級所需的步驟,您的代碼在5.1中可以正常工作。這更像是一個整容變化。

+0

是的,但是這讓我感到非常不舒服,幾乎可以保證這將在未來變成一次突破性的改變,我不認爲他們會永遠保持向後兼容性,所以現在可以解決這個問題。 – user391986

+0

@ user391986該文檔聲明更改是向後可編譯的。如果你想,那麼你可以遷移。創建'app/Jobs'和'app/Listeners',在那裏移動你的類,改變名字空間並且更新你的所有代碼以使用正確的名字空間。 – shaddy