Laravel4.1、正式リリース前に試すには

タグ: Laravel4  

Laravel4.1は今月リリースされる予定ですが、まだdevelopブランチに入ったままです。

とはいえ、4.0リリース時に、開発中の4.1を試したい場合は、composer.jsonでバージョンを指定するだけだと言われていたので、試すには試せます。

新機能についてまとまったページがありません。4.1をインストールしphp artisan changesとやれば変更ログが表示されますが、内容は言葉足らずで、一読して分かるものではありませんし、最新の状態で無かったりします。

開発者のOtwell氏は「ドキュメントがない限りリリースしない」と言い切ったので、多分現在はドキュメントの用意をしているのではないかと想像しています。

新規インストール

もちろん、まだリリース前ですので、こちらの方法で新たにインストールし、実験して見ることをおすすめします。

  1. https://github.com/laravel/laravel/tree/developからZIPファイルをダウンロードしましょう。続いて、解凍してください。
  2. composer installを実行します。

既存のプロジェクトを切り換える

当然ながら、ベータ版ですので幾らかの危険を含んでいるでしょう。リリース直後も直ぐ切り換えることはおすすめしません。バグが枯れるまで、一ヶ月くらい待つほうが賢明です。

アップデート方法はhttps://github.com/laravel/laravel/blob/develop/upgrade.mdで紹介されています。以下はそれを和訳したものです。(追記:頻繁に変更されるため、直ぐに古くなります。リンク先を必ず確認してください。)

実行する前に、composer.jsonとcomposer.lockファイルを保存しておきましょう。いざという時に戻せます。

  1. composer.jsonのrequireセクションで指定されているlaravel/frameworkのバージョンを'"4.1.*"`に切り替えます。
  2. composer updateを実行します。(パッケージインストール後、Fatalエラーになります。以降の処理を行なってください。)
  3. public/index.phpをhttps://github.com/laravel/laravel/blob/develop/public/index.phpに変更します。
  4. artisan.phpをhttps://github.com/laravel/laravel/blob/develop/artisanに変更します。
  5. bootstrap/start.phpの'$app->redirectIfTrailingSlash()'の行を削除します。
  6. app/config/app.phpの'aliases'配列で、'Controller' => 'Illuminate\Routing\Controllers\Controller'となっている所を'Controller' => 'Illuminate\Routing\Controller'に変更します。
  7. app/controllers/BaseController.phpのuse Illuminate\Routing\Controllers\Controller;use Illuminate\Routing\Controller;へ変更します。
  8. コントローラーの中でmissingMethodをオーバーライドしている場合、最初の引数として$methodを付け加えてください。

この程度ならシェルで置き換えるのも簡単なので、本当にリリースされたら、誰かが置き換えスクリプトを提供してくれるでしょう。