1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

自動販売機を作ってみよう part8 - 詳細設計に入るの1

Last updated at Posted at 2019-06-14

ユーザーがアクセスできるように、drinkという名前で、controllerをつくる。
先日作ったテーブルを中に入れる

設計

今からやることはなんなのかを具体的に文章にして、明確にしておく

まずはどうやってMVCでコードが動くのか、Codeigniterの仕組みを理解するところをやる。

php_practice/app/application/controllersの中身を一通り確認する。

ファイルを全てvimで開く。

モデルからデータを受け取って、ビューがHTMLを生成する流れを実行して確認する。

Codeigniter アプリケーションフローチャート
https://codeigniter.jp/user_guide/3/overview/appflow.html
Codeigniterの処理の流れについて
https://kunitsuji.hatenadiary.org/entry/20080617/1213671478
を読む

Codeigniterのチュートリアルをやってみた
https://it-tech-dm.hatenadiary.org/entry/20091025/1256465675

CodeIgniter 3のディレクトリ構成と動きを確認する
https://www.m0de.ml/c0d3man/posts/oszoeezc1r01vt89jc7z

を実行する

その後、実際に自販機を組み立てていこう。

やることは、大枠からどんどん細かくする

以下が自販機の組み立ての大きなプロセス。

ぺーじをつくる。
データをデバッグできるのでそれをする。
実際にViewが受け渡しをできるか確認する
URLでアクセスできるか確認する

これを粒度どんどん細かくしていくことで、設計が出来上がっていく。
細かくしていく例↓

各ページがURLでアクセスできるようにする

ページごとにViewに必要なデータの取得

Viewでの値の受け渡し

Viewの組み立て

URLでアクセスしてページが設計通りに動いていることを確認

各ページがURLでアクセスできるようにする
	Controller(機能)の作成
		methodの作成(ページ)

ページごとにViewに必要なデータの取得
	DaoをつかったDatabaseアクセス
		select文をCodeigniterのActicerecordで取得

Viewでの値の受け渡し

Viewの組み立て

URLでアクセスしてページが設計通りに動いていることを確認

各ページがURLでアクセスできるようにする
   Controller(機能)の作製
       drink controllerの作製
           application/controller/drink,phpを作製する
       methodの作製(ページ)
           作製されたapplication/controller/drink.phpにmethodを追加していく                                                                                                                                                                                                                                                                                                                           
               indexの追加
                   publicで作製します
                       public function index
                   購入開始のリンクをつける必要がある
                       (リンクだけなのでViewで対応)
                   購入済商品一覧
                       Database (php_practice)にある○○テーブルの○○を参照して一覧で取得する
                   購入済商品一覧のステータス(飲んだ飲んでない)
                       Database (php_practice)にある○○テーブルの○○を参照して一覧で取得する
                           ステータスについては所持しているドリンクに付与する必要がある


public function index()
{
   購入済商品一覧
       Database (php_practice)にある○○テーブルの○○を参照して一覧で取得する


       $result1 = $this->CI->drink_model->get_list();

   購入済商品一覧のステータス(飲んだ飲んでない)
       Database (php_practice)にある○○テーブルの○○を参照して一覧で取得する

       $result2 = $this->Ci->drink_model->get_status();

    ステータスについては所持しているドリンクに付与する必要がある
}


drink_model

   public function get_list()
   {
       databaseとhoge tableへ接続をする
       $this->CI->load->model('hoge');
       select文を発行する
       $this->CI->hoge_model0->select();
       $this->CI->hoge_model0->get_list();

       帰ってきた値を受け取る
       $result = $this->CI->hoge_model->query_result();

       return $result;

   }


   public function get_status()
   {

   }

ページ毎にViewに必要なデータの取得
   Daoを使ったDatabaseアクセス
       select文をCodeigniterのActicerecordで取得
       取得したデータの整形
       データが引き出せているかの確認

Viewでの値の受け渡し
   ControllerからViewの呼び出し
       Viewへの値受け渡し

Viewの組み立て
   Controllerから受け渡された値の出力確認
   必要箇所への埋込

URLでアクセスしてページが設計通りに動いていることを確認
メッセージ入力

のような感じで。組みまくれ。ひたすらに。細かくしていけ。
上記のように、書いた文章はコメントにし、その下に実際のコードを書いていくことができるので、粒度細かく書いていくことで、そのままコーディングに入ることができるのだ。

modelは先日つくったテーブルごとに作成する

参考資料

読んだものメモ

超絶初心者がCodeIgniterを一から導入やってみました
https://www.alt-plus.jp/archives/1755

Codeigniter アプリケーションフローチャート
https://codeigniter.jp/user_guide/3/overview/appflow.html

Codeigniterの処理の流れについて
https://kunitsuji.hatenadiary.org/entry/20080617/1213671478

Codeigniterのチュートリアルをやってみた
https://it-tech-dm.hatenadiary.org/entry/20091025/1256465675

CodeIgniter 3のディレクトリ構成と動きを確認する
https://www.m0de.ml/c0d3man/posts/oszoeezc1r01vt89jc7z

軽量PHPフレームワーク ‘CodeIgniter’ 徹底ガイド!
http://www.ci-guide.info/

Codeigniterユーザガイド
http://codeigniter.jp/user_guide/3/index.html

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?