教材の内容に関係のない質問や教材とは異なる環境・バージョンで進めている場合のエラーなど、教材に関係しない質問は推奨していないため回答できない場合がございます。
その場合、teratailなどの外部サイトを利用して質問することをおすすめします。教材の誤字脱字や追記・改善の要望は「文章の間違いや改善点の指摘」からお願いします。
本教材は PHP でオブジェクト指向の基本を学びつつファイナルファンタジー風の CLI
アプリケーションを作成していきます。
CLI
とはキャラクタユーザーインタフェースのことです。つまり文字のやり取りをするアプリケーションになります。
本教材では、Laravel
などのフレームワークは使用せず、生の PHP
のみを使って実装します。
アプリケーションを作成しながらオブジェクト指向について解説していきます。
オブジェクト指向はイメージが大事です。理解の手助けになるように随所に説明画像を挟んでいます。
オブジェクト指向の基本となる、3大要素や、それらに関連するものを説明しています。
また、プログラミングをする上で重要な設計の部分の考え方も掲載しています。
現場でよく使われるテクニックやリファクタリングのやり方も載せていますのでぜひ参考にしてみてください。
この教材を読み終わった後、確実にあなたはエンジニアとして1段高いところにいるはずです。
現場で活躍できるエンジニアになっていくためにも頑張って身につけていきましょう!
そもそもなぜオブジェクト指向を学ぶ必要があるのでしょうか?
現在、プログラミングスクールや、ビデオ教材が流行したことにより、自分が学びたい部分のみ取捨選択し、ピックアップして学ぶことができるようになりました。
しかし、それはある弊害を生んでいます。
それは、必要な知識が足りていない状態で 次のステップ に進んでしまうことです。(就職やフリーランスになるなど)
そのうちの1つが 「オブジェクト指向」 です。
オブジェクト指向はプログラミングと深く結びついており切っても切れない存在です。
世の中にあるプログラムのほとんどがオブジェクト指向に基づいており、
みなさんが使われている Laravel
を始めとするフレームワークもオブジェクト指向を使用しています。
オブジェクト指向を学ばずにLaravel
等のフレームワークを学習しても、動いてはいるけど何をやっているかわからない状態になってしまいがちです。
そういった状態で学習を続けることはかなり不安に駆られるのではないかと思います。(実際私がメンターをしている生徒さんたちもそういった不安を抱えるかたがほとんどです)
そのような不安も、オブジェクト指向を学ぶことでフレームワーク等を使ったプログラミングの理解が深まり、これまで読めなかったコードが読めるようになります。
これまで不安だった気持ちもクリアになり、学習意欲も湧いてきます。
プログラミングをする上でオブジェクト指向を学ぶことは必須というのが現状です。
また、本教材では、考え方・設計の仕方も身につくためプログラミングのみならず、今後のエンジニア人生に役立つでしょう。
ぜひ、本教材を足がかりにしてオブジェクト指向の理解を深めていきましょう!
PHP
でのプログラミングPHP
の基本構文を理解しているls
」や「cd
」など簡単なコマンドラインの知識PHP
を一度も触ったことがない方は、まずは Progate 等で学習することをおすすめします。
Laravel
などのフレームワークを使用しているが、コードで何をやっているかわからない・イメージがつかない方※本教材は Mac 向けに作成していますが、Windows の方でも改行コードを読み替えることで対応可能です。
約 20 時間程度
本教材を進める上での環境を整えたり、全体設計を解説していきます。
人間・敵クラスを作成しながら、オブジェクト指向の基本部分に触れていきます。
メイン処理も少しだけ書いて、とりあえず簡単な戦闘ができるまで実装します。
ファイナルファンタジー を代表するシステム「ジョブ」を実装します。
これらのジョブを作る過程でオブジェクト指向の3大原則である、
についても解説します。
アプリケーションの総仕上げをします。
また、コードの読みやすさを向上するためのリファクタリング
も実施します。
リファクタリングの項目には、オブジェクト指向におけるオブジェクトの切り出し方など
設計にもかかる部分が多く重要な項目です。
現場で役立つプラスアルファのテクニックを実装します。
また、オブジェクト指向の基本から1歩踏み込んだデザインパターンにも触れていきます。
以上で今回のパートは終了です。
次のパートは完成イメージを掲載します。