Laravelを4.0から4.1にアップデートしてみたので手順を書いてみます。

カテゴリ:Web制作タグ:,

今回はまだリリースされたばかりで早いかもしれませんが、Laravel4.1へアップグレードしましたので、その際の手順を自分なりに残しておきたいと思います。

とは言いましたが、川瀬さんが公開している日本語ドキュメントのアップグレードページを参考にすれば問題ないかと思います。
英語が苦手な方にも有難いですね!

記事を書き終わった後の追記:以下の手順を行いましたが、何故か最後のcomposer updateを実行すると「PHP Fatal error: Call to undefined method Illuminate\Foundation\Application::bindShared()」が出て失敗してしまうため、新規インストールすることにしました。(´・ω・`)なんでだろ。原因まで追えれば良かった(確かにエラーメッセージにあるメソッドは存在しなかったまでは確認しましたが)のですが今回は現在開発中のため諦めました。手順と書きながら失敗したんかい!って感じですが参考程度によろしければどうぞ!基本ドキュメント通りに進めたはずなのでドキュメントで十分の方には必要ないかもしれませんが…せっかくなので!

この記事の内容

  1. composer.jsonを修正する
  2. ファイルを差し替える
  3. 設定ファイルの編集と新規ファイルを追加する
  4. コントローラーファイルを更新する
  5. パスワードリマインダーを更新する
  6. 一部コードを削除する
  7. Composerの更新を実行する
  8. その他Laravel4.1になって変わった事

composer.jsonを修正する

まず最初にプロジェクトの「ルートディレクトリ」にある「composer.json」の修正を行います。
「require」の中にある

の4.0を4.1へ変更し下記のようになるようにして下さい。

編集が終わったら保存を忘れずに!

ファイルを差し替える

次にファイルの差し替えを行います。
1つ目は、プロジェクトの「publicディレクトリ」にある「index.php」ファイルをコチラにあるファイルに差し替え(書き換えでも可)て下さい。
※滅多にないとは思いますが自分でこのファイルを書き換えたりしていた場合は、その編集を行うのも忘れずに!

2つ目は、プロジェクトの「ルートディレクトリ」にある「artisan」ファイルをコチラにあるファイルに差し替え(書き換えでも可)て下さい。
※滅多にないとは思いますが自分でこのファイルを書き換えたりしていた場合は、その編集を行うのも忘れずに!

設定ファイルの編集と新規ファイルを追加する

次に設定ファイルの更新・編集やファイルの追加を行います。
1つ目は、プロジェクトの「app/configディレクトリ」にある「app.php」ファイルの中の「aliases」と「providers」をコチラのファイルを参考に更新します。
※上書きする場合は、自分で追加した箇所を編集し忘れないように注意しましょう!

2つ目は、プロジェクトの「app/configディレクトリ」に新規で「remote.php」ファイルを作成しコチラを追加し保存します。

3つ目は、プロジェクトの「app/configディレクトリ」にある「session.php」を開いて「’lifetime’ => 120,」の次の行に「’expire_on_close’ => false,」を追加して下記のようになるようにします。

4つ目は、プロジェクトの「app/configディレクトリ」にある「queue.php」の一番下にある「);」の前の行へ下記を追加します。

※オプションでプロジェクトの「app/configディレクトリ」にある「view.php」ファイルの「pagination」設定オプションを「pagination::slider-3」に変更することもできるそうです。
今回は特にいじらないでおきました。

コントローラーファイルを更新する

※こちらは該当する方のみ要編集
1つ目は、プロジェクトの「app/controllersディレクトリ」にある「BaseController.php」ファイルの頭で「use」を使用している場合、

上記の記述を下記の記述に書き換えて下さい。

2つ目はコントローラファイルの中で「missingMethod」をオーバーライドしている場合、下記のように「$method」を該当のメソッドの最初の引数へ指定して下さい。

※今回私はどちらも該当しなかったのでいじっていません。

パスワードリマインダーを更新する

※パスワードリマインダーを利用している方は要チェックです。

を実行して作成される新しいコントローラーを調べるかドキュメントを参考にアプリケーションを更新する必要があるそうです。
また、プロジェクトの「app/lang/enディレクトリ」にある「reminders.php」をコチラのファイルに合わせて変更して下さい。
川瀬さんが作成している日本語翻訳版を使っている場合は、
プロジェクトの「app/lang/jaディレクトリ」にある「reminders.php」をコチラのファイルに合わせて変更して下さい。
※今回私は該当しなかったのでいじっていません。

一部コードを削除する

まず、プロジェクトの「bootstrapディレクトリ」にある「start.php」ファイルの中にある下記コードを削除します。

この機能はフレームワークに含まれている「.htaccess」ファイルで処理されるようになったため必要なくなったそうです。

次に、プロジェクトの「publicディレクトリ」にある「.htaccess」ファイルをコチラのファイルに差し替え(書き換え)て下さい。

Composerの更新を実行する

ここまで終わったら最後にSSHクライアントなどを使いコマンドでプロジェクトの「ルートディレクトリ」へ移動し

を実行します。

その他Laravel4.1になって変わった事

・ログファイルの単純化
Laravel4.1からLaravelは、プロジェクトの「app/storage/logs/ディレクトリ」の中の「laravel.log」ファイルのみを作成、使用するようになったそうです。
しかし、この動作はプロジェクトの「app/startディレクトリ」の中にある「global.php」ファイルで設定できるままになっています。
・現在のルートへのアクセス
現在のルートへアクセスするには、今までは

で取得出来ましたが、
Laravel4.1からは

が使えるようになりました。

あとでよむ / みんなにシェアする

このエントリーをはてなブックマークに追加
LINEで送る

コメントをする / みる

コメントを残す

4件のコメント

Hirohisa Kawase より:

こんにちは、

多分、アップデートが終わった後に走るartisanコマンドの可能性があります。

じつは、composer.jsonのスクリプトは4.0でも変更がありました。

最新版のcomposer.jsonのスクリプトに合わせるのが懸命です。ただし、一部のパッケージには、利便性のため、スクリプトにコマンドを追加するように勧めてものもあります。そうした、コマンドは、一度外しておき、後から追加しなおすほうが、よろしいかもしれません。

もしくは、スクリプトを走らせないComposerのオプションを使います。

composer update –no-scripts

UKLab より:

川瀬さん初めまして。

いつも日本語のドキュメントやブログでのチュートリアルなどお世話になっている一人です。非常に助かってます!

そうだったのですね…
composer自体もLaravel4で初めて使ったもので全然理解出来てなかったです。

既に新しく環境を構築してしまったのでコメント頂いたコマンドなどを試すことは出来なくなってしまいましたが、また同じような事があった時に教えていただいたコマンド等を参考にさせていただきます。

ありがとうございました!

Hirohisa Kawase より:

いえいえ。
こうした記事がLaravelの普及を助けます。
良かったら、Laravel アドバンスドカレンダーに参加しませんか。後3日分空いていますよ。

UKLab より:

そう言っていただけると助かります。

Laravelのアドバンスカレンダー、まだLaravelに詳しくないので私が書いていいものか分かりませんが、19日に参加させてもらう事にしました!情報ありがとうございます。

検索する

カテゴリ一覧

タグ一覧

お知らせ アクセス解析 アプリケーション ゲーム サーバー スニペット プラグイン 動画 日記 Laravelパッケージ Laravel3 Laravel4 Tips Webサービス Webデザイン WordPress

最近投稿された記事

つぶやき

【GIGAZINE読者限定早い者勝ち】無料でDropbox・Googleドライブなどのクラウドを自由自在に同期・一括管理できる「まとめてクラウド」が先着5万人48時間だけゲット可能 - GIGAZINE gigazine.net/news/20151010-…

約2年前

離れていてもコミュニケーションが取りやすい便利なサービス「Remotty」 #remotty remotty.net

約2年前

RT @localdisk: メジャーどころがたくさん / 【セキュリティ ニュース】「WPTouch」など多数のWordPressプラグインに脆弱性(1ページ目 / 全1ページ):Security NEXT security-next.com/057930

約2年前

Javascript フレームワーク「Aurelia」aurelia.io

約2年前

dockerで起動済みのコンテナに対して何かしたい時は、docker exec -it コンテナ名 /bin/bashで入って実行したり、docker exec -it コンテナ名 supervisorctl restart nginxみたいな事も出来て便利。

約2年前

サーバー移転完了に伴いサイトの閲覧も可能な状態になりました。移転作業中にご訪問いただいた方には大変ご迷惑をおかけいたしました。今後このようなことがないよう気をつけて参ります。

約2年前

現在当サイトが閲覧出来ない状態となっております。こちらはサーバーの移転作業に遅れが生じているためとなっております。ご利用いただいている方にはご迷惑をおかけいたします。

約2年前

WordPress4.1.1(日本語版)が利用出来るようになりました wp.me/p4RkJY-Dj

約3年前

RT @keito_jp: Twitterをサマーウォーズ的に表示させるやつを製作中。遊んでみてね。 open.moo.jp http://t.co/gIgp5Gh6qW

約3年前

任天堂、YouTubeの広告収入を動画制作者とシェアする「Creators Program」サービス開始 | Game*Spark - 国内・海外ゲーム情報サイト s.gamespark.jp/article/2015/0…

約3年前

↑上へ戻る