2017/07/21

Laravel 5.1 の quickstart を Laravel 5.4 で実行する

Laravel には tutorial 的な quickstart があるのですが、ドキュメントは 5.1 までしか提供されていない。
5.4 の tutorial 的なものは laracast という形で動画で提供されています。
動画を見てコードを書くのが性に合わなかったので 5.4 で 5.1 の quickstart をやってみたログ。
ちなみに作るものは所謂 TODO リストというやつで、よくチュートリアルで作るやつですね。
index, create, delete があるだけ、って感じ。


環境

  • Scientific Linux release 7.2 (Nitrogen)
  • PHP 5.6.30
  • Laravel 5.4.22
  • Apache httpd 2.4.26


5.1 -> 5.4 変更点

具体的な変更点は実は1つしかなくて、Routing の `app/Http/routes.php` の内容を `routes/web.php` に置くだけ。
どうやら Laravel 5.4.22 は api/web/console/channel ごとに routes を分けられる構成になっているっぽい。
書いてて思ったけれど割とモダン。
OR-mapper も extends するだけて使えるタイプっぽいし。
個人的には Routing 部分に処理が出てきたりするのは Sinatra っぽいな、と感じました。
あと html template の名前が blade でかっこ良い。が、宿命的に書きづらい。
ということで作った Repository はこちら。5.4 環境でも何ら問題無く動きます。



Apache 2.4.26 で動かす

Apache 2.4.26 で動かすためには `public` を DocumentRoot にする必要があります。
例えば
DocumentRoot "/home/atton/quickstart/public/"
<Directory "/home/atton/quickstart/public/">
とか。 permission もきちと整えておくこと。
あと DirectoryIndex は index.php にしておいた方が良いかも。
それと AllowOverride All と Requite all granted を書いておくこと必要があります。
加えて LoadModule rewrite_module modules/mod_rewrite.so をコメントインしておく。
.htaccess とかは Laravel が用意してくれるので問題無し。

さらに言えば、使うDatabase が MySQL なら MySQL の PDO が必要なので ./configure の段階で
  • ./configure --with-openssl --with-zlib --enable-mbstring --enable-zip --with-apxs2=/usr/local/apache2/bin/apxs --with-pdo-mysql
とかしておく必要があります。つまり前記事の段階ではオプションが足りていなかったってことですね。
ということで 5.1 の quickstart を 5.4 で動かしたログでした。


参考

0 件のコメント:

コメントを投稿