カテゴリー
サインイン 新規登録
学習時間 20時間
難易度 初級
質問投稿
価格 ¥1,280
月額 ¥2,980
Unlimited会員はこちらの教材を含む100種類以上のUnlimited対象教材が学び放題

【PHP】オブジェクト指向で学ぶファイナルファンタジー風 CLI アプリの作成

PHPを用いてファイナルファンタジー風CLIアプリを作成します。オブジェクト指向の基本だけでなく、プログラミングをする上で重要な設計の部分の考え方などを図を交えながら詳しく解説します。リファクタリング・デザインパターン・現場でよく使われるテクニックなどについても学習します。

4.6
最終更新 2023/1
ymatsuza

実例から学ぶ!オブジェクト指向とプログラミングの設計・テクニック

本教材はこれまでオブジェクト指向を知らなかったもしくは、勉強してこなかった方を対象として、オブジェクト指向というものを理解することを目標にしています。

実例を交えて説明するので、イメージしやすくするように構成しました。

また、プログラミングをする上で重要な設計の部分の考え方も掲載しています。

現場でよく使われるテクニックも学べるようにしています。

そもそもなぜオブジェクト指向を学ぶ必要があるのでしょうか?

現在、プログラミングスクールや、動画教材が流行したことにより、自分が学びたい部分のみ取捨選択し、ピックアップして学ぶことができるようになりました。

しかし、それはある弊害を生んでいます。

必要な知識が足りていない状態で次のステップに進んでしまうことです。(就職やフリーランスになるなど)

そのうちの1つが「オブジェクト指向」です。

オブジェクト指向はプログラミングと深く結びついており切っても離せない存在です。

世の中にあるプログラムのほとんどがオブジェクト指向に基づいており、みなさんが使われているLaravel を始めとするフレームワークもオブジェクト指向に則っています。

オブジェクト指向を学ぶことでフレームワーク等を使ったプログラミングの理解が深まり、コアコードも読めるようになります。

また、本教材では、考え方・設計の仕方も身につくためプログラミングのみならず、今後のエンジニア人生に役立つでしょう。

ぜひ、本教材を足がかりにしてオブジェクト指向の理解を深めていきましょう!

学習内容

  • 生の PHP でのプログラミング
  • プログラミングの設計の仕方
  • オブジェクト指向
    • UML
    • カプセル化
    • 継承
    • ポリモーフィズム
    • オーバーライド
    • デザインパターン
  • 現場で役立つプラスアルファのテクニック
    • リファクタリング
    • オートロード
    • ユーティリティファイル
    • 定数ファイル

完成物のイメージ

※今回作成するのは以下のようなコマンドライン上で動作するアプリケーションとなります。バナーはイメージとなります。

本教材の対象者

  • オブジェクト指向について調べてみたが実装したことがない方
  • アプリケーションを作る際の設計方法が分からない方
  • Laravel などのフレームワークを使用しているが、コードで何をやっているかわからない・イメージがつかない方
  • 現場でよく使われるテクニックを知りたい方

受講における必要条件

  • PHP の基本構文を理解している
  • 「ls」や「cd」など簡単なコマンドラインの知識

PHP を一度も触ったことがない方は、まずは Progate 等で学習することをおすすめします。

学ばないこと

  • PHP の基本文法
  • Laravel などのフレームワーク

本教材の対応バージョン

PHP5 系 以上

本教材で質問対応可能なOSや環境

  • MacOS
  • Cloud 9

本教材の構成

0 章 はじめに

  • 0-1 この教材について
  • 0-2 完成イメージ
  • 0-3 開発を進める上で必要なツール(Mac)
  • 0-4 アプリケーションの設計を考える

1 章 人間・敵クラスの作成

  • 1-1 この章では何をするか?
  • 1-2 これから作成するクラスの簡単な説明
  • 1-3 ディレクトリの作成
  • 1-4 main.php の作成
  • 1-5 人間クラスの作成
  • 1-6 敵クラスの作成
  • 1-7 メイン処理の変更
  • 1-8 まとめ

2 章 ジョブの実装

  • 2-0 前章の回答例・解説
  • 2-1 この章では何をするか?
  • 2-2 これから作成するクラスの簡単な説明
  • 2-3 継承の説明
  • 2-4 オーバーライド
  • 2-5 ポリモーフィズム
  • 2-6 カプセル化
  • 2-7 アクセサーメソッドとコンストラクタ
  • 2-8 まとめ

3 章 アプリケーションの完成

  • 3-0 前章の回答例
  • 3-1 この章では何をするか?
  • 3-2 黒魔道士・白魔道士クラスの作成
  • 3-3 main.php の仕上げ
  • 3-4 各クラスの修正
  • 3-5 リファクタリング前編
  • 3-6 リファクタリング後編
  • 3-7 完成!
  • 3-8 まとめ

4 章 プラスアルファの実装

  • 4-1 この章では何をするか?
  • 4-2 オートロードの実装
  • 4-3 ユーティリティファイルの作成
  • 4-4 定数ファイルの作成
  • 4-5 デザインパターン
  • 4-6 まとめ

カリキュラム

Section 0 はじめに
Section 1 人間、モンスタークラスの作成
  • 1-1 この章でやること
  • 1-2 これから作成するクラスの簡単な説明
  • 1-3 ディレクトリの作成
  • 1-4 main.php の作成
  • 1-5 人間クラスの作成
  • 1-6 敵クラスの作成
  • 1-7 メイン処理の変更
  • 1-8 まとめ
Section 2 ジョブの実装
  • 2-1 この章でやること
  • 2-2 これから作成するクラスの簡単な説明
  • 2-3 継承 〜プロパティ・メソッドを引き継ぐ〜
  • 2-4 オーバーライド 〜プロパティ・メソッドを上書きする〜
  • 2-5 ポリモーフィズム 〜同じメソッドでもクラスによって振る舞いが変わる〜
  • 2-6 カプセル化 〜必要に応じて隠す〜
  • 2-7 アクセサーメソッドとコンストラクタ 〜必要な処理を踏む〜
  • 2-8 まとめ

講師のプロフィール

教材のレビュー

4.6
11件の評価
81%
9%
0%
9%
0%
Caleb 1年以上前
実際に書くことでオブジェクト指向の考え方をしっかりつかむことができました
michikatsu 1年以上前
一通りPHPのオブジェクト指向は学習していたが、本教材で知識の不足しているところを補うことができました。
吉本健介 1年以上前
親クラスと子クラス 他クラスの プロパティやメソッドの操作方法を 実際にFF風のアプリをつくりながら確認できて、本当に面白かったです。 アクセス修飾やstaticや定数やらで地味にややこしい所なので、実際にアプリを作りながら、チュートリアル的にまとめることができました。アプリは自分で拡張して学ぶことができたので、本当に面白かったです。ありがとうございました。