class类 - ThinkPHP 3.2.3,我有一个class,应该放在哪里?
我有一个class,class的名字叫get_user_info,这个class里有很多function,我应该把这个class放在哪里,才能在Controller中调用到这个class里的function? 比如在List这个Controller中。
其实,只有一个问题,能不能放在Common文件夹下面?
回复内容:
我有一个class,class的名字叫get_user_info,这个class里有很多function,我应该把这个class放在哪里,才能在Controller中调用到这个class里的function? 比如在List这个Controller中。
其实,只有一个问题,能不能放在Common文件夹下面?
/ThinkPHP/Library/Org下建个自己的目录;扔里面写好命名空间即可;
好吧;我拿项目举个例子;
以分页来说;
示例项目:http://git.oschina.net/shuaibai123/thinkbjy
分页类:http://git.oschina.net/shuaibai123/thinkbjy/blob/master/ThinkPHP/Library/Org/Bjy/Page.class.php
调用分页类第159行:http://git.oschina.net/shuaibai123/thinkbjy/blob/master/Application/Common/Model/ArticleModel.class.php
首先是要定义分页类的命名空间:namespace OrgBjy;
然后调用这个分页类的时候就是:$page=new OrgBjyPage($count,$limit);
你要使用的方式同理;自己可以定义一个目录;定义好命名空间;使用的时候;对应好命名空间实例化就可以了;
再或者以官方的String类来讲解:/ThinkPHP/Library/Org/Util/String.class.php
这里面有一些用来处理字符串的方法;比如说获取随机数、字符串截取等;你可以查看官方的源代码来理解;
类名有点奇怪,看着挺像一个模型的,是先有的模型类,再有的thinkphp项目?
如果是和我说的一致,感觉有3个办法
重构一次代码,符合thinkphp的model规范
看下官方的类库扩展,看看是否可以整合进来,因为你这可能还牵涉到数据库操作,具体就要看你如何调试了
最坏的打算就如 KingzChenung 所说include也可以
get_user_info这个是类的名字还是方法的名字,目前看着好像是方法的名字啊,如果是类的话就可以根据命名空间区分出来一个utils这样的命名空间来存放这个类,具体的要看你的命名空间根目录是怎样了
可以在controller同级目录新建自定义目录,类改命名空间,然后就能引用。其实在其他地方也是随便你的,大不了自己include,最多不符合框架规范而已。
作为第三方插件引入呢