twitterよりちょっと長いの

せっかくだから書き残すよ。

「PHPフレームワーク Laravel入門」を読んだ

手っ取り早くWebアプリを作る手段が欲しかったのでフレームワークを勉強した。
勉強した感想とかそんな感じのことを書く。
読んだのはこれ:

PHPフレームワーク Laravel入門

PHPフレームワーク Laravel入門

なんで勉強しようって気持ちになったの?

さて今回、Webアプリのフレームワークを勉強するに当たってのモチベーションは以下の2つである。

  • Webアプリを手っ取り早く実装する手段が欲しかった
  • フレームワークで実装するとどんな風になるのか知りたかった

あとは「仕事でPHPを触っている」のと「人気がありそう」ってな気持ちでLaravelを選んだ。

自分のレベルとしては「How to記事を読みながら実装を進める」ぐらい。「****使えます」とは言えないフワフワなレベル感である。

勉強してみてどうだった?

ユーザごとにログイン処理して掲示板みたいなアプリケーションは作れるようになったと思う。(実際、書籍内の例がそれなので当然といえば当然だけど)

ちょっと書くだけで、いい感じに機能が実装されてすごい。Laravelの威力を体感できた。
あと、コードについてもサッパリ書けて感心したり。例えば、フォームにおけるパラメータのバリデーション設定は以下のように書ける。

$this->validate([
    'name'=>'required',
    'mail'=>'email',
    'age'=>'numeric|between:0,150'
]);

ただ、「テーブル名がItems(複数形)のとき、モデル名Item(単数形)にすると関連付けされる」とかの「約束事」が気になった。他のフレームワークと比べると少ないのだろうか?多いのだろうか?

次はどうすんの?

読んで終わると来月には忘れそうだから、Laravel使って何か自力で作ってみよう。

実は最近使う機会があって、普段使っている環境とは別のWindowsで開発する機会があったんだけど、環境構築にえらく手間取った。本当はこんな辛い思いをする必要は無く、「全部入り環境」ことHomesteadを使えば良かった。ただ、その時は余裕が無かったので使わなかったが、合わせて使えるようにしておきたいね。

あと、フロントエンドでの実装力も鍛えたい。課題は多いねぇ

ちょっと書籍について

Chapter 5のデータベースの設定周りで詰まった。
同じ問題で詰まってる人もいる感じ。
SQLite - LaravelでSQLiteを使いたいが接続できない(134630)|teratail

自分はArch Linux環境で開発したが、以下のことを行う必要があった。

適当にphpinfo() を実行してdriverが有効かどうか確認

"PDO driver"項目にsqliteが無いことからdriverが有効になっていないことがわかった。

php.iniで以下のコメントアウトをは外す
extension=pdo_sqlite
extension=sqlite3

自分は"/etc/php/php.ini"を編集した。

PHPのsqlite3 モジュールをインストール

別途、インストールする必要があった。

pacman -S php-sqlite 
.envのDB_DATABASEは絶対パスで記入

更新後はサーバを再起動