PHPのフレームワーク『Laravel入門』を読んでみて。

スポンサーリンク
PHPのフレームワーク『Laravel入門』を読んでみて。

PHPのフレームワーク『Laravel入門』を読んでみて。

どうも、松平です。

 

いきなりですがPHPでWEBサービスを作ろうと思い、Laravelというフレームワークが楽という噂をよく聞いていたので、Laravelを学ぼうと思いました。

そこで、Amazonで一番評価が高かった「Laravel入門」という本を買いました。

 

 

僕の開発環境は2019年現在の最新にして、PHPのバージョンが7.3、Laravelのバージョンは5.7。

 

この本では、この最新バージョンと異なる点があるのではないかと心配だったのですが、

バージョンの違いにより困ったことは何もありませんでした。

 

 

 

ですが、一冊読んで戸惑った点は若干ありました。

 

まず先に言っておきますが、この本はめちゃくちゃわかりやすかったです。

Laravelのことを何もわからないけど学習したい、という方には胸を張っておすすめできる本です。

 

ですが一部困った点はあったので、「Laravel入門」を読んで困った点を備忘録のようにしてまとめたいと思います。

スポンサーリンク

SQLiteの設定ができなかった

まずは、初歩的なものから僕にはできないことがありました。

というのも、僕はこの本と同じような環境を構築するための、SQLiteの設定ができませんでした。

 

SQLiteのzipファイルをダウンロードし、環境パスにdllファイルを設定してもなぜか通りませんでした。

よってSQLiteの起動自体ができませんでした。

 

思い返すと32bitのアプリケーション版の方をダウンロードすればよかったのかもしれないですが、MySQLに慣れているのと、開発環境も基本はMySQLで作業をしているので、あまり深入りすることなくDBの方はMySQL(MariaDB)にしました。

スポンサーリンク

マイグレーション時のエラー

続いて、これは僕がMySQLにしたせいです。

ローカル環境でxamppのMySQL(MariaDB)を使いましたが、Laravelでマイグレーションを実行した際にどうしてもエラーになりました。

 

Laravelのマイグレーションでテーブルを作る際の文字の容量が767バイトを越える設定のようで、これがMySQLでエラーになる原因だったみたいです。

VARACHARで文字数を指定してもいまいちうまくいかず。

 

 

app\Providers\AppServiceProvider.php

 

↑のbootメソッドに、

 

Schema::defaultStringLength(191);

 

 

↑の一文を書いてデフォルトの文字数設定を変更することで解決しました。

スポンサーリンク

文字コードと完成画面の掲載タイミング、ちょっと抜けている

続いて僕の解釈次第でもありますが、例題でコードを打ち込む際のこと。

 

コードの掲載と完成画面の表記が先にあります。

必死にコードを打ち込みますが、どうしても完成画面のようにならずエラーになります。

 

入力したものは全て合っているのに、テキスト内での完成形のものと違う!

なぜだ!?なぜなんだ!?と悩むこと数十分。

 

 

・・・・・ああ!完成には次の項目のコードも加える必要があるのかよ!

 

 

 

といったことが何度かあったので、そのせいでちょっと時間を無駄にした感じがあります。

P.265でそのことに対する注意喚起がありましたがそれだけではないように感じました。

 

(今までも注意喚起があったのに僕が気づいていないだけかもしれませんが)

 

 

 

また、「クラスを以下にしてください」という記述がありながら、前にクラス内に書いた別のメソッドがなければエラーになることもありました。(P.246)

Authの項目でもweb.phpの記載が省かれていたり、ちょっとしたところが抜けているのが少し気になりました。

 

完成画面は全てのコード掲載後に掲載してほしいと思った他、解釈やその人次第で少し誤解を生む点があったように思いました。

スポンサーリンク

後悔は何一つなし!

 

ですが!!!!!!!

買って後悔は何一つありません。

 

とてもわかりやすかったです。

本の購入前はネットで調べても、Routeだなんだで何が何やら何のための処理なのか、全く把握できませんでした。

 

この本一冊でLaravelの基礎は理解できたと思います。

 

 

個人開発ならばこの本で基礎を学びながら、便利だと思ったところをつまんで開発をするのが一番良いと思います。

企業での開発に適しているかどうかは不明ですが、Laravelの基礎を学びたい人におすすめできる本でした。