Start living with new my life

自分が思ったことを書き留めてます。

Laravel3のyield()とPHP5.5の影響について

PHPフレームワーク(Laravel)を学習しようと思い、Laravel3をローカル(Xampp)環境で
構築したときに、下記のエラーが出たので解決策を備忘録として記録します。

Laravel3をローカルに構築しlocalhostでアクセスできるようにバーチャルホストを設定した後に、
いざページを表示させるとエラーがでた。

Parse error: syntax error, unexpected 'yield' (T_YIELD), expecting '(' in /var/www/html/laravel/helpers.php on line 563

原因としては下記サイトに解決策がありました。

□problem with php 5.5 and laravel 3.2.14
http://forumsarchive.laravel.io/viewtopic.php?pid=37937

原因:
php5.5ではyieldはキーワードとして存在しており、helper.phpではyieldをファンクション関数として存在していたのが原因

解決策としては3つあり、
1.PHPのバージョンを5.4にダウングレードする
2.yield() function をyieldContentなどの別の名前に変更する
3.意見・要望をLaravelの作者へ出し改善してもらい。

なお、Laravel4では上記のような問題はないため、Laravel4を使用するのが一番無難かもしれません。