##二次開發>加載類
>文件夾名 : __Class
**命名規則**
類的命名規則以“.class.php”結尾
文件名前面部分和類名必須相同
如:"user.class.php"
~~~
class user{
//...自己的代碼
}
~~~
* * * * *
**存放位置**
請將類存放在程序目錄下的“__Class"文件夾中
>如果有父程序,也可以存放在父程序的"__Class"文件夾中
系統會自動由下往上遍歷
* * * * *
**加載方法**
>C($classname,$path,$init)
@參數1:類名
@參數2:模塊目錄,請寫相對路徑,如"Group1" ,非必須, 缺省值是當前控制器目錄,如果是整數會被當作參數3
@參數3:是否返回實例化對象,每個大于0的數字都是一個獨立的實例對象
**實例**
http://phpstart.xyz/test/group1/index/cat
~~~
class index{
function cat(){
C("cat");
}
}
~~~
第一步:執行/test/group1/index.php中的 cat()方法
第二步:判斷"/test/group1/__Class/"目錄下"cat.class.php"是否存在,如果不存在則往上遍歷(第三步)
第三部:判斷"/test/__Class/"目錄下"cat.class.php"是否存在,如果不存在返回false,存在則引入類文件,默認會返回實例對象
**實例參考2**
http://phpstart.xyz/test/group1/index/dog
* * * * *
**調用其他模塊(子程序)的類**
調用其他程序的類,只需要帶上模塊的目錄即可
**實例代碼**
~~~
class index{
function dog2(){
echo "new index()->dog2()<br />";
$dog = C('dog','group2');
$dog->talk();
}
}
~~~
上面的代碼會從test/group2/__Class 開始往上遍歷
* * * * *
**調用其他程序的類**
調用其他程序的類,只需要$path以“/”開頭,并附上相對于項目根目錄的相對路徑
**實例**
~~~
class index{
function dog3(){
echo "new index()->dog3()<br />";
$dog = C('dog','/test2/group2');
$dog->talk();
}
}
~~~
上面的代碼會從test2/group2/__Class 開始往上遍歷
http://phpstart.xyz/test/group1/index/dog3