こんにちは。Webデザイナー/フロントエンドエンジニアのもりょーと申します。

この記事では私がプログラミング学習のProgateを利用して、PHPを勉強した成果と感想をご紹介します。

この記事を読む前の参考として、私自身の当時のスキルをざっくりとお伝えしますと以下のようなスキルです。

  • HTML/CSSは不自由なく書けてレスポンシブサイトが作れる。
  • PHPの短い構文なら書けるが複雑なものは書けない
  • MVCモデルのVCしか触れたことがない
  • PHPフレームワークのCodeIgniterを使用した実務経験あり

またProgateのPHP学習の前に、同じくプログラミング学習サービスのPaizaのPHP基礎プログラミング学習を完了しています。そちらも記事にしているので、よろしければご参照ください。
【paizaラーニング】PHPプログラミング学習の感想・レビュー

ProgateのPHP講座の感想

  • オブジェクト指向の流れを学びやすい
  • 講座の半分以上はオブジェクト指向がメインの講座となっている
  • サブスクの有料で一月約1000円掛かるが、教材本によくある実行環境の準備がないため作業がしやすい
  • 万人受けしやすいUIデザイン、キャラクターという印象

箇条書きで書くと以上のような感想でした。

個人的にはPHPのプログラミングの基礎というよりオブジェクト指向プログラミングの学習がメインなのかなと感じました。ProgateのPHP講座はPHPのレベル1〜レベル4まであるのですが、PHPのレベル2からオブジェクト指向プログラミングの学習に入ります。

私はオブジェクト指向の理解にかなーり苦戦した人間なのですが、プログラミング初心者だとPHPのレベル2から早々に苦戦するかもしれません。

オブジェクト指向というのはプログラミングの基礎を理解していないと理解が難しいと私は思っています。そのためプログラミング初心者はProgateのレベル1を何度も復習して、やっとPHPのレベル2に入れる感じかなと。

公式ではPHP基礎のレベル1の修了時間は4時間と書いてあるのですが、実際に4時間でプログラミングの基礎を学んで、その後オブジェクト指向の学習にすぐに入れるかと言うと難しいと思います。他言語のプログラミング経験者ならば問題ないと思いますが、まったくの初心者は厳しいでしょう。

ですがProgateは一つ一つの講座を確実に理解していけば着実に成長を実感できる教材だと思いました。

PHP講座の学習内容

◎PHPレベル1
 ・1 章:PHPとは?
 ・2 章:PHPの基礎を学ぼう
 ・3 章:条件分岐
 ・4 章:配列を使ってみよう
 ・5 章:繰り返し処理
 ・6 章:関数を使ってみよう
 ・7 章:お問い合わせフォームを作ろう
◎PHPレベル2
 ・1 章:オブジェクト指向の基礎を学ぼう
 ・2 章:完成物に近づけよう
 ・3 章:カプセル化
 ・4 章:注文サービスを完成させよう
◎PHPレベル3
 ・1 章:オブジェクト指向を学ぼう
 ・2 章:継承について学ぼう
◎PHPレベル4
 ・1 章:詳細ページを作ろう
 ・2 章:ユーザーを追加しよう

最終的に作るサイトイメージ

演習課題の見た目

Q : 企業の研修教材に向いているか?

教材としては分かりやすいですから、Progateは新人の教育にも向いていると思います。

恐らくオブジェクト指向の講座編でプログラミング初心者は躓いてしまうと思うので、まずはProgateのPHP講座レベル1を反復して勉強するのが良さそうです。クラスやインスタンスを理解するためにも変数や関数の基礎はしっかりと学ぶべきでしょう。

あとPHP講座ではデータベースからデータを取り出してforeachなどで出力させるということはしないので、そこは注意が必要だと思います。
あくまでPHPの基礎やオブジェクト指向の学習がメインなので、データは静的な配列として書いて扱います。そのためSQLやPDO、ORMについては触れないので、PHPだけで完結させている講座です。

全ての講座が終わるまで約16時間らしいのですが、じゃあ1日8時間の工数で勉強させて、合計2日間勉強させればいいか!ヨシ!と教育担当者が考えていると、いざ新人さんが実践に入るときに「オブジェクト指向分かりません」「コードの流れがまったく分かりません」なんてことになりそうです。

まぁプログラミング基礎+オブジェクト指向が二日間で理解できるかと言うと天才じゃないと無理なんじゃないでしょうか…!個人的には基礎ほど入念にやらせるべきだと思います。

終わりに

巷ではPHPは分かりやすい言語と言われていますが、HTMLやCSSのWeb系コーダーから見るとプログラミングの敷居は高く感じると思います。特にオブジェクト指向はプログラミングをする上で必須となるので、しっかり学ばれた方が良いと思います。

私自身もPHPの知識は浅いのですが、この記事がPHP初心者や教育担当者の参考になれば幸いです。