プログラミング経験がない方向け
この本はプログラミング経験がない人でもスラスラと読めるようにプログラミングのコード1行1行解説がついています。
また入門向けなので、この本1冊でwebアプリケーションは作れませんが、プログラミングの土台となる重要な部分です。
プログラミング言語は言語によって全く違うものと思いがちですが、実は似ているところがたくさんあります。
ここで土台を作っておけば、将来別の言語を勉強するときに学習時間が短くなります。
プログラミング経験がない方はこちらの書籍がおススメです。
1つ1つ丁寧に解説してあります。
ただこの本だけではwebアプリケーションは作れません。
簡単に説明するために文法の細かいところは省かれており、実際にコードを書いて理解していく流れとなっています。
他の書籍で挫折してしまった方もこの本ならスラスラと進めることが出来ると思います。
PHP初心者向け
PHPは勉強したことがないけれど、他のプログラミング言語を勉強したことがあるという人はこちらの書籍がおススメです。
for文やif文、変数宣言など基礎文法はざっくりとまとまっており、プログラミング経験者ならスラスラと読めると思います。
実際に一からECサイト(ショッピングサイト)のシステムを作っていきます。具体的にはログイン認証、カートに入れる処理、会員システムなどショッピングサイトに必要な知識が身につきます。
上に紹介した「いきなりはじめるPHP~ワクワク・ドキドキの入門教室」の姉妹本でコードを書いて理解していく本となっています。
この本を勉強したら簡単なwebアプリケーションは作れるようになります。
PHP中級者向け
この本はPHPの細かい仕様が書かれています。上に紹介した2冊では省略されていた細かい文法の話やデータベース、セキュリティなど細かいところまで書かれています。
初心者がこの本でいきなり勉強するとかなりつらいです。
何かシステムを作りながら勉強していくというスタイルの本ではなく、淡々とPHPについて書かれているため、基礎文法を理解している人向けの本となります。
この本はセキュリティ対策にかなり力が入っており、他のPHPの書籍にはない魅力があります。またツイッターのようなコメントを送る機能を持ったアプリを作りながら勉強していくので楽しく勉強を進めることが出来ると思います。
さらにフレームワークについても書かれており、フレームワークの内部がどのような仕組みで動いているのかが分かります。
しかし発売されたのが2014年で少し古くPHPのバージョンが違います。そのため本に載っているサンプルコードを書いてもうまく動かない場合があります。
PHPのレファレンスを見ながら、あるいは上に紹介した独習PHPを見ながらサンプルコードを書き替えて実行すると良いと思います。
初心者がこの本を手に取ると絶望するので、一番上に紹介した本から勉強していくことをおススメします。
フレームワーク
フレームワークとはコードの記述量を減らす道具(システム)のようなものです。
PHPのフレームワークはいくつか種類がありますが、今回はLaravelを紹介します。
wordpressとlaravel(ララベル)は同じようなものという記事を見ますが、両者は異なります。
確かにwordpressもlaravelもPHPで書かれていますが、wordpressはCMSであり、laravelはフレームワークです。
CMSはすでに出来上がっているソフトウェアです。wordpressをダウンロードすればブログの記事を簡単に投稿できる、サイトのデザインを簡単に変更できる便利なソフトウェアですよね。
しかしlaravelはダウンロードしただけでは何もできません。そこから自分でコードを書いてシステムを作っていきます。
PHPと違うのはフレームワークを使うことでより素早い開発が可能な点です。
Laravelを初めて学ぶという方にオススメです。LaravelはPHPに比べ書籍が少なく、その中で最も分かりやすいものがこの書籍になります。
LaravelはPHPの知識がある人にとっては学習コストが低く、多機能なのでおすすめのフレームワークです。特にセキュリティ対策などはフレームワークに組み込まれているため、PHPで何行も書いていたコードが1行で済みます。お問い合わせのバリデーション(検証)やログイン認証も簡単に作れます。
LaravelはMVCというシステムで様々なファイルを組み合わせて1つのページを作ります。
wordpressのテーマを1から作った人ならイメージがつきやすいと思いますが、例えばhearderの部分、mainの部分、footerの部分が別々のファイルになっており、それらを組み合わせて1つのページを作ります。実際には内部の処理を書いたファイルなども組み合わせます。
いきなりLaravelを学ぶと躓きます。
実際にいきなりLaravelをやって挫折したので、PHPの基礎から勉強するのが最も近道です。