新型ORM queryphp架構 操作類似jquery方式,該怎麼處理

來源:互聯網
上載者:User
新型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中已有對像關係了?> 
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.