PHP勉強会 #51

3,531 views

Published on

3 Comments
0 Likes
Statistics
Notes
  • Be the first to like this

No Downloads
Views
Total views
3,531
On SlideShare
0
From Embeds
0
Number of Embeds
1,559
Actions
Shares
0
Downloads
6
Comments
3
Likes
0
Embeds 0
No embeds

No notes for slide

PHP勉強会 #51

  1. 1. Before PHP勉強会 51HMVCでテストモジュールを 作ってみましたの巻 ネコネットデザイン事務所 宮川貴子(NEKOGET)
  2. 2. 自己紹介NAME:宮川 貴子 NEKOGETNICK : NEKOGETWORK:ネコネットデザイン事務所フリーランスで活動中( 仕 募 中 お 事 集 )XHTML,CSS,イラスト製作をしたりPHPでコードを書いたりしています。
  3. 3. お題・CodeIgniterとは?・modulerextensionの紹介・テストモジュールを作ってみたよ。
  4. 4. CodeIgniter
  5. 5. 【読み】[コードイグナイター]CodeIgniter
  6. 6. デザインパターンModelViewController
  7. 7. 流れFLOW(NEKOGETの勝手な解釈としてのそれ)
  8. 8. Load Library View ModelController 処理のおおまかな流れOutput
  9. 9. Load Vhook Controller ポイントで、hook 処理を差し込む Output
  10. 10. Active Recordテーブル名にプレフィックスを設定
  11. 11. Active Recordすべての値は自動的にエスケープ!安全なクエリを生成します。
  12. 12. データベース構造縛りは緩やかセッションの保存にデータベースを使う場格納テーブルの構造が固定
  13. 13. 本題
  14. 14. H M V C モジュール機構用ライブラリ
  15. 15. 標準のファイル構造application controllers views config librarys
  16. 16. 標準のファイル構造application controllers 複数のController views 複数のC ontroller view
  17. 17. モジュール化されたのファイル構造application m odul es controllers が追加 views modules welcome controllers views
  18. 18. モジュール化によって機 能 を グ ル ー プ 化 することができる。
  19. 19. 分 業 が簡単あなたと私の作業は、フォルダが違う
  20. 20. 迷 子 にならない全体の中から探さない。モジュールという地図がある
  21. 21. ModulerextensionHMVC
  22. 22. Moduler extension CodeIgniter WIKI ニュージーランドの人 wiredesignzさん という方が、開発を されています。 http://codeigniter.com/wiki/Modular_Extensions_-_HMVC
  23. 23. Moduler extension G o o g le C o d e で開発中の コードが公開 されてします。http://code.google.com/p/modular-extensions-php5/
  24. 24. Moduler extension 組み込んでみましたCodeIgniter1.7.2
  25. 25. 作業の流れWORK FLOW
  26. 26. WIKIページにアクセスhttp://codeigniter.com/wiki/Modular_Extensions_-_HMVC
  27. 27. File:modular extensi ons 5222.zi p (P H P 5 onl y)をダウンロード
  28. 28. 解凍したファイルを設置 /system/application/libraries/ Controller.php Modules.php MY_Router.php
  29. 29. モジュールフォルダを作成 /system/application/ controllers m odul es views を作成 modules
  30. 30. Welcomeモジュールを作成 /system/application/ modules W el com e welcome モジュール を作成 controllers views models config
  31. 31. Welcomeモジュールへ移動 /system/application/ modules welcome w elcom e.php applcaton/ r l s/ i i contoler から移動 controllers welcome.php views welcome_message.php
  32. 32. 作業終了WORK END
  33. 33. 動作確認
  34. 34. 設置したURLにアクセス 確認の為、 アイコン画像を 追加しています。applcation/modules/welcome/以 以 以 以 以 以 以 以 以 i以 以 以 以 以 以 以 以 OK
  35. 35. 組み込み済みCodeIgniterでのテスト
  36. 36. テスト用のモジュールでテストを書く。 application テスト用 controllers モジュール を作ってみたよ views modules test controllers views
  37. 37. applicationの中application 読込 べ みむき controllers views 範囲 modules test welcome login
  38. 38. テストの為に読み込むべき範囲は? application applicationの中テストをしたい controllers modulesの中 viewsファイル全て modules test welcome login
  39. 39. テストの為に読み込むべき範囲は? application applicationの中新たにコードを書き、作る controllers modulesの中 views 心配なところ。 modules test welcome login
  40. 40. applecation以下 のファイル全て
  41. 41. ためしてみるTRY
  42. 42. welcomeモジュール をテスト modules welcome テストを 書いてみる。 controllers models model_welcome.php
  43. 43. ブラウザで確認
  44. 44. Test Name [Welcome !!!]って返事してね♪Test Datatype      StringExpected Datatype StringResult PassedFile Name /var/www/html/system/application/modules/test/controllers/test.phpLine Number 122
  45. 45. Test N ame [Welcome !!!]っ て返事 してね♪Test Da ta ty pe        StringExpected Dat at ype StringR esult PassedF ile Name /va r/www/html/system/application/modules/test/coL ine N umber 122File Name Line Numberテストを書いたファイルとテストが書かれた行数
  46. 46. あまり意味がない!Test N ame [Welcome !!!]っ て返事 してね♪Test Da ta ty pe        StringExpected Dat at ype StringR esult PassedF ile Name /va r/www/html/system/application/modules/test/coL ine N umber 122File Name Line Numberテストを書いたファイルとテストが書かれた行数
  47. 47. 何をテストしたのか?が後でわからないちょっと困る。
  48. 48. (1)テストの名前(2)モジュール(3)クラス(4)メソッド(5)パラメータ(6)説明とかコメント
  49. 49. 情報をいれて置ける場所?echo $this-unit-run( ‘Welcome !!!’, $test_result, $test_name);
  50. 50. $test_nameテストの名前にがんばってもらう。
  51. 51. $test_name[’name’] = ‘テストの名前’;$test_name[’module’] = ‘モジュールの名前’;$test_name[’type’] = ‘タイプ’;$test_name[’class’] = ‘クラス名’;$test_name[’function’] = ‘メソッド名’;$test_name[’param’] = ‘パラメータ’;$test_name[’memo’] = ‘説明とかコメント’;
  52. 52. 見やすいようにテーブルタグで装飾
  53. 53. Name [Welcome !!!]って返事してね♪ M o d u le Welcome c la s s model_welcome f u n c t io n get_welcme()Test Name p a ra m なし m e m o         説明、メモなどTest Datatype        StringEx pectedDa tatypeStringResultPa ssedFil eName/v ar/w ww/h tml/system/application/modu les/test/co ntrol lers/test.ph pLin eNu mber 122 テストの名前ががんばりました。
  54. 54. その後 やっちゃったこと、つくっちゃったもの話実際に今うごいてる、テストモジュールの姿。 ご意見などいただけるとうれしいです。
  55. 55. 今後の課題やりたいこと・やらないといけないと思うこと
  56. 56. 今回の資料 ねこげっとぷれす http://pneskin2.nekoget.com/press/ testモジュールのソースコード DLできるようにします(_)参考にさせていただいたサイトのURL    CodeIgniter本家Wikihttp://codeigniter.com/wiki/ modular-extensionshttp://code.google.com/p/modular-extensions-php5/ ヌル日記さま    http://d.hatena.ne.jp/dix3/20090828 UsagiProjtectさま  http://usagi-project.org/MyNETS2公開SVNhttp://usagi-project.org/svn/public/branches/MyNETS2/ CIUnit(fooStack)さまhttp://www.foostack.com/foostack/ EllisLab,incさま   http://ellislab.com/

×