新型ORM queryphp架構 操作類似jquery方式
本架構不大,幾十Kb
實現了目前所有架構大部分功能
MVC試,ORM資料庫支援 關係查詢
資料庫操作方式如:
echo $supply->Books->classname;//自動取得Books中內容
echo $supply->Books->Supply->title; //反過來取supply中的內容
支援多資料庫連結,主從連結
這個一個微型架構
可以實現MVC方式
支援path_info方式
控制動作在router目錄下面
/default/index
調用router目錄下面defaultRouter.class.php檔案
取得類後調用index方式
J()是index方法跳轉
R()是由控制
C()是產生類
M()是資料庫類模型 資料庫連結在model.function.php裡面設定
只包括framework.php檔案就可以了。
path_info方式
testframework.php?controller=default&action=index
testframework.php/default/index
可以使用apache重寫 去掉testframework.php檔案
可以自己設定路由規則
C("router")->ruleMaps("login",'/login/:id', array('controller' => 'auth', 'action' => 'login'));
那麼會配匹testframework.php/login/5555
這樣可以使用$_GET['id']得到5555;
'controller' => 'auth', 'action' => 'login'
是控制器和方法
其它設定
C("router")->ruleMaps('logout','/logout', array('controller' => 'auth', 'action' => 'logout'));
C("router")->ruleMaps('signup','/signup', array('controller' => 'auth', 'action' => 'signup'));
C("router")->ruleMaps('profile','/profile/:action', array('controller' => 'profile')); // will call controller "Profile" with dynamic method ":action()"
C("router")->ruleMaps('users','/users/:id', array('controller' => 'users'), array('id' => '[\d]{1,8}')); // define filters for the url parameters
資料庫資料模型
使用方法
構造一個資料庫表模型
$beian=M('beian');
自動填滿aaa bbb欄位 $_POST中也要有這兩個欄位
//$beian->autoField(array("aaa","bbbb"));
$data中填充
$beian->autoField($data,array("aaa","bbbb"));
取兩個主索引值,排序為升序
//print_r($beian->get(53,54,'asc'));
賦值給欄位。
$beian->userid=2;
$beian->language=1;
列印已經賦值欄位
//print_r($beian->data);
儲存,再顯示剛才插入的ID
//echo $beian->save()->pkid();
設定主鍵然後刪除
//echo($beian->pkid(69)->delete());
取得表的行數
//echo $beian->Totalnum();
select顯示兩個欄位,Arraylist為數組
//print_r($beian->getAll("userid,language")->record); //改為record了
查詢兩個userid和language為1和5,fetch為取值
print_r($beian->whereUseridAndLanguage('1','5')->fetch()->record);
取得兩個主鍵,顯示三個欄位,升序
//print_r($beian->get('confid,userid,language',53,54,'asc')->record);
輸出主索引值
//echo $beian->confid;
更新某個表的欄位累加1
$beian->colupdate('tplid');
可以在model目錄下,*****Model.class.php檔案裡面添加方法。
產生模型後可以馬上可以使用
print_r($booktype=M("booktype")->getAll());
更新J()跳函數
可以支援各個路由之間跳轉和傳遞參數
參數為array
J("show") 為轉到本路由方法show
J("show",array("id"=>555)) 為轉到本路由方法show 並傳遞參數ID過去
J(R("member"),"list") 將跳轉到member路由上面並調用list方法 如果沒有list那麼預設為index方法,具體架構中設定的預設方法。
J("member")
J("member","list",array("userid"=>999))
hasOne hasMany ManyhasMany ORM(Object-Relational Mapper) 對象關係影射有三種可以在"map"=>"hasOne"這裡更改
PHP code
array("map"=>"hasOne","TargetModel"=>"booktype","localFiled"=>"typeid","targetFiled"=>"typeid")); var $maps;} $supply=M("supply"); $supply->get(3,4)->up(); echo ($supply->Books->classname);//自動取得Books中內容 print_r($supply->record); echo $supply->Books->Supply->title; //反過來取supply中的內容 print_r(M("booktype")->record); //booktype中已有對像關係了?>