W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
模塊就是數(shù)據(jù)表,ModPHP 會根據(jù)數(shù)據(jù)庫結(jié)構(gòu)來自動創(chuàng)建模塊類和函數(shù)。系統(tǒng)默認(rèn)自帶?user
, file
, category
, post
, comment
?五個數(shù)據(jù)表(模塊)。
數(shù)據(jù)庫結(jié)構(gòu)由配置文件 database.php
定義,實際上是一個二維數(shù)組(數(shù)據(jù)表和字段),結(jié)構(gòu)大致如下:
<?php
return array(
? ? 'user'=>array(
????????'user_id' => 'INT(15) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY',
????????'user_name' => 'VARCHAR(255) NOT NULL',
????????'user_nickname' => 'VARCHAR(255) NOT NULL',
? ? ...
);
添加更多模塊或者更改已有模塊結(jié)構(gòu):
編輯 database.php
文件添加數(shù)據(jù)表和字段,然后執(zhí)行 mod::update()
方法。系統(tǒng)會自動更新數(shù)據(jù)庫表結(jié)構(gòu),并自動生成與其對應(yīng)的模塊類文件(如果新增模塊)?
{module}.class.php
,?存放在?user/classes/
目錄中。
模塊類繼承了 mod 類的所有方法。其中包含了一些直接操作數(shù)據(jù)庫記錄的方法,如?add(), update(), delete(), get(), getMulti(), search()?等。比如要獲取一位 user_id 為 1 的用戶,只需要這么做:
<?php
require('mod.php'); //如果在模板文件中,這一步是不需要的
$result = user::get(array('user_id'=>1));
print_r($result['data']); //$result 是一個關(guān)聯(lián)數(shù)組,至少包含 success 和 data 兩個鍵值對。success 是一個布爾值,如果獲取信息成功則為 true, 否則為 false; data 是一個存儲結(jié)果的關(guān)聯(lián)數(shù)組或錯誤信息
系統(tǒng)會自動注冊與模塊對應(yīng)的相關(guān)函數(shù),這些函數(shù)包括: 1.?_{module}(): 包含掛鉤函數(shù)、當(dāng)前分頁、總頁數(shù)等與模塊相關(guān)信息的函數(shù) 2.?get_{module}(): 獲取單條與模塊關(guān)聯(lián)的記錄的函數(shù) 3.?getmulti{module}(): 獲取多條與模塊關(guān)聯(lián)的記錄的函數(shù) 4.?getsearch{module}(): 搜索(模糊查詢)多條與模塊關(guān)聯(lián)的記錄的函數(shù) 5.?the_{module}(): 存儲當(dāng)前記錄信息的函數(shù)? 6.?{module}_*(): 與數(shù)據(jù)表字段名對應(yīng)的直接獲取字段數(shù)據(jù)的函數(shù) 7.?prev_{module}(): 獲取上一條記錄的函數(shù) 8.?next_{module}(): 獲取下一條記錄的函數(shù) 9.?{module}_parent(): 獲取父記錄的函數(shù),數(shù)據(jù)表存在 {module}parent 字段時才會注冊該函數(shù) 10.?[{module}{ex-table}()](http://modphp.hyurl.com/function-module-ex-table):?獲取從表記錄的函數(shù),數(shù)據(jù)表存在外鍵才會注冊
所以獲取 user_id = 1
的用戶也可以使用下面這種簡單的方式:
<?php
if(get_user(1)){ //因為 user_id 是主鍵,可以直接使用整數(shù),其他參數(shù)需要用數(shù)組,如 array('user_name'=>'someone')
print_r(the_user());
}
要同時獲取多位用戶,可以使用下面這種方式:
<?php
while(get_multi_user()){ //同樣,你可以為 get_multi_*() 類函數(shù)提供一個關(guān)聯(lián)數(shù)組作為參數(shù)來進(jìn)行更精確的獲取
print_r(the_user());
}
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: