php勉強会 #51

56
ネコネットデザイン事務所 宮川貴子(NEKOGET) Before PHP勉強会 51 HMVCでテストモジュールを 作ってみましたの巻

Upload: takako-miyagawa

Post on 14-Jul-2015

2.264 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: PHP勉強会 #51

ネコネットデザイン事務所 宮川 貴子(NEKOGET)

Before PHP勉強会 51

HMVCでテストモジュールを 作ってみましたの巻

Page 2: PHP勉強会 #51

自己紹介NAME:宮川 貴子 NICK : NEKOGET WORK:ネコネットデザイン事務所 フリーランスで活動中(お仕事募集中) XHTML,CSS,イラスト製作をしたり PHPでコードを書いたりしています。

NEKOGET

Page 3: PHP勉強会 #51

お題・CodeIgniterとは? ・moduler extensionの紹介 ・テストモジュールを作ってみたよ。

Page 4: PHP勉強会 #51

CodeIgniter

Page 5: PHP勉強会 #51

[コードイグナイター]【読み】

CodeIgniter

Page 6: PHP勉強会 #51

Model View Controller

デザインパターン

Page 7: PHP勉強会 #51

流れ

FLOW(NEKOGETの勝手な解釈としてのそれ)

Page 8: PHP勉強会 #51

Model

ControllerView

Library

Output

Load

処理のおおまかな流れ

Page 9: PHP勉強会 #51

Model

Controller

View

Output

Loadhook

hook ポイントで、 処理を差し込む

Page 10: PHP勉強会 #51

Active Record テーブル名に プレフィックスを設定

Page 11: PHP勉強会 #51

すべての値は 自動的にエスケープ! 安全なクエリを生成します。

Active Record

Page 12: PHP勉強会 #51

データベース構造

セッションの保存にデータベースを使う場合 格納テーブルの構造が固定

縛りは緩やか

Page 13: PHP勉強会 #51

本題

Page 14: PHP勉強会 #51

H M V C モジュール機構用ライブラリ

Page 15: PHP勉強会 #51

application

controllers

views

標準のファイル構造

config

librarys

Page 16: PHP勉強会 #51

application

controllers

views

複数のController

複数のC ontroller view

標準のファイル構造

Page 17: PHP勉強会 #51

モジュール化されたのファイル構造

application

controllers

views

modules

welcomecontrollers

views

m odules が追加

Page 18: PHP勉強会 #51

モジュール化によって

機 能 を グ ル ー プ 化 することができる。

Page 19: PHP勉強会 #51

分 業 が簡単

あなたと私の作業は、フォルダが違う

Page 20: PHP勉強会 #51

迷 子 にならない

全体の中から探さない。モジュールという地図がある

Page 21: PHP勉強会 #51

Moduler extension HMVC

Page 22: PHP勉強会 #51

�http://codeigniter.com/wiki/Modular_Extensions_-_HMVC

CodeIgniter WIKI wiredesignzさん という方が、開発を されています。

ニュージーランドの人

Moduler extension

Page 23: PHP勉強会 #51

Moduler extension

http://code.google.com/p/modular-extensions-php5/

G o o g le C o d e で開発中の コードが公開 されてします。

Page 24: PHP勉強会 #51

CodeIgniter1.7.2

Moduler extension

組み込んでみました

Page 25: PHP勉強会 #51

WORK FLOW作業の流れ

Page 26: PHP勉強会 #51

http://codeigniter.com/wiki/Modular_Extensions_-_HMVC

WIKIページにアクセス

Page 27: PHP勉強会 #51

�File:modular extensions 5222.zip (P H P 5 only)をダウンロード

Page 28: PHP勉強会 #51

解凍したファイルを設置

/system/application/libraries/

Controller.php Modules.php MY_Router.php

Page 29: PHP勉強会 #51

モジュールフォルダを作成

controllers

views

modules

/system/application/

m odules を作成

Page 30: PHP勉強会 #51

Welcomeモジュールを作成

welcome

modules/system/application/

W elcom e モジュール を作成

controllers

views

models

config

Page 31: PHP勉強会 #51

Welcomeモジュールへ移動

welcome

modules/system/application/

controllers

views

welcome.php

welcome_message.php

w elcom e.php application/controllers/ から移動

Page 32: PHP勉強会 #51

WORK END作業終了

Page 33: PHP勉強会 #51

動作確認

Page 34: PHP勉強会 #51

設置したURLにアクセス

確認の為、 アイコン画像を 追加しています。

application/modules/welcome/以 以 以 以 以 以 以 以 以以 以 以 以 以 以 以 以 OK

Page 35: PHP勉強会 #51

テスト組み込み済みCodeIgniterでの

Page 36: PHP勉強会 #51

application

controllers

views

modules

testcontrollers

views

テ ス ト 用

モ ジ ュ ー ル

を作ってみたよ

テスト用のモジュールでテストを書く。

Page 37: PHP勉強会 #51

application

controllers

views

modulestest

welcome

applicationの中

login

読み込むべき 範囲

Page 38: PHP勉強会 #51

テストの為に読み込むべき範囲は?

application

controllers

views

modulestest

welcome

applicationの中 modulesの中

login

テストをしたい ファイル全て

Page 39: PHP勉強会 #51

テストの為に読み込むべき範囲は?

application

controllers

views

modulestest

welcome

applicationの中 modulesの中

login

新たにコードを書き、作る 心配なところ。

Page 40: PHP勉強会 #51

applecation以下 のファイル全て

Page 41: PHP勉強会 #51

TRYためしてみる

Page 42: PHP勉強会 #51

modules

welcomecontrollers

models

model_welcome.php

テストを 書いてみる。

welcomeモジュール をテスト

Page 43: PHP勉強会 #51

ブラウザで確認

Page 44: PHP勉強会 #51

Test Name [Welcome !!!]って返事してね♪

Test Datatype      String

Expected Datatype String

Result Passed

File Name /var/www/html/system/application/modules/test/controllers/test.php

Line Number 122

Page 45: PHP勉強会 #51

Test N ame [Welcome ! !!]って返事してね♪

Test Dataty pe      String

Expected Datatype String

Result Passed

File Name /var/www/html/system/application/modules/test/controllers/test.php

L ine N umber 122

File Name & Line Numberテストを書いたファイルとテストが書かれた行数

Page 46: PHP勉強会 #51

Test N ame [Welcome ! !!]って返事してね♪

Test Dataty pe      String

Expected Datatype String

Result Passed

File Name /var/www/html/system/application/modules/test/controllers/test.php

L ine N umber 122

File Name & Line Numberテストを書いたファイルとテストが書かれた行数

あまり意味がない!

Page 47: PHP勉強会 #51

ちょっと困る。

何をテストしたのか? が後でわからない

Page 48: PHP勉強会 #51

(1)テストの名前 (2)モジュール (3)クラス (4)メソッド (5)パラメータ (6)説明とかコメント

Page 49: PHP勉強会 #51

echo $this->unit->run( ‘Welcome !!!’, $test_result, $test_name );

情報をいれて置ける場所?

Page 50: PHP勉強会 #51

$test_nameテストの名前にがんばってもらう。

Page 51: PHP勉強会 #51

$test_name[’name’] = ‘テストの名前’; $test_name[’module’] = ‘モジュールの名前’; $test_name[’type’] = ‘タイプ’; $test_name[’class’] = ‘クラス名’; $test_name[’function’] = ‘メソッド名’; $test_name[’param’] = ‘パラメータ’; $test_name[’memo’] = ‘説明とかコメント’;

Page 52: PHP勉強会 #51

見やすいようにテーブルタグで装飾

Page 53: PHP勉強会 #51

Test Name

Test Datatype        String

Ex pected Datatype Str ing

Result Passed

File Name /var/www/html/system/application/modules/test/control lers/test.php

Line Number 122

Name [Welcome !!!]って返事してね♪

M o d u le Welcome

c la s s model_welcome

f u n c t io n get_welcme()

p a r a m なし

m e m o         説明、メモなど

テストの名前ががんばりました。

Page 54: PHP勉強会 #51

その後やっちゃったこと、つくっちゃったもの話

実際に今うごいてる、テストモジュールの姿。 ご意見などいただけるとうれしいです。

Page 55: PHP勉強会 #51

今後の課題やりたいこと・やらないといけないと思うこと

Page 56: PHP勉強会 #51

今回の資料 ねこげっとぷれす  http://pneskin2.nekoget.com/press/  testモジュールのソースコード  DLできるようにします(>_<) 参考にさせていただいたサイトのURL

  CodeIgniter本家 Wiki http://codeigniter.com/wiki/  modular-extensions http://code.google.com/p/modular-extensions-php5/  ヌル日記さま     http://d.hatena.ne.jp/dix3/20090828  Usagi Projtectさま  http://usagi-project.org/ MyNETS2公開SVN http://usagi-project.org/svn/public/branches/MyNETS2/  CIUnit (fooStack)さま http://www.foostack.com/foostack/  Ellis Lab,incさま    http://ellislab.com/