Hakodate	
  framework	
  勉強会
       シンプルなPHPのフレームワーク
Agenda


*  Introduction	
  
*  Sample	
  coding	
  
*  Future	
  
Simple	
  framework	
  for	
  PHP


*  シンプル	
  
*  軽量	
  
*  はこだて生まれ	
  
*  オープンソース	
  
Simple	
  framework	
  for	
  PHP


*  アクションコントローラ
*  MySQL	
  ラッパ―	
  
Download


*  http://code.google.com/p/hakodate/downloads/list	
  
Sample	
  coding


*  ドキュメントルートにZIPの中身をコピー	
  
*  http://127.0.0.1/hakodate/	
  
Sample	
  coding


*  ./config/config.php	
  の編集	
  
Sample	
  coding


*  サンプルDBを作ってみる	
  
*  表示されたSQL文を実行	
  
*  Testにクエリを実行
Sample	
  coding


*  クエリが書かれたページをリロード
MCV	
  Model


*  Model	
  –	
  module/xxxx.php	
  
*  Controller	
  –	
  index.php	
  
*  View	
  –	
  inc_xxxx.php	
  
Controller


*  GETによるアクション指定	
  
 *  ?action=sample → sampleAction()	
  が実行される	
  
*  アクション名と同等のViewを作成	
  
 *  Inc_sample.php
View


*  Inc_xxxx.php	
  描画処理を行う	
  
*  Actionと対になっている	
  
Directory


*  ディレクトリ単位でMCVが成り立っている	
  
*  モジュールを読み込むときのディレクトリに注意	
  
便利な関数群


*  out関数	
  
  *  配列をテーブル表示してくれる関数	
  
*  get関数	
  
  *  クエリを引数として渡すことで、レコードの配列を取得する	
  
*  getAll関数	
  
  *  get関数の複数レコードを取得できる関数	
  
*  put関数	
  
  *  新しいレコードを追加する関数
MySQL Wrapper


*  煩わしいコードを書かなくてもいい	
  
*  左のコードがたった一行に	
  
*  get((‘SELECT	
  *	
  FROM	
  friends	
  WHERE	
  firstname=’.dq($firstname));	
  
MySQL Wrapper


*  グローバル変数に、特定のDBとのコネクションを張ったクラスオブジェクトを確保	
  
*  このオブジェクトをシングルトンパタンとして、get関数やput関数を呼び出している	
  
*  しかも、配列にして返してくれる!	
  
Future


*  getの安全化	
  
  *  ‘user_id	
  =’.$user_id → ‘user_id	
  =	
  %d’	
  


*  実行速度を測れるようにしたい	
  
*  DBの切り替え	
  
Hakodate - simple framework

Hakodate - simple framework