🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
##二次开发>加载类 >文件夹名 : __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