首頁 >後端開發 >php教程 >class类 - ThinkPHP 3.2.3,我有一个class,应该放在哪里?

class类 - ThinkPHP 3.2.3,我有一个class,应该放在哪里?

WBOY
WBOY原創
2016-06-06 20:08:001235瀏覽

我有一个class,class的名字叫get_user_info,这个class里有很多function,我应该把这个class放在哪里,才能在Controller中调用到这个class里的function? 比如在List这个Controller中。

其实,只有一个问题,能不能放在Common文件夹下面

class类 - ThinkPHP 3.2.3,我有一个class,应该放在哪里?

回复内容:

我有一个class,class的名字叫get_user_info,这个class里有很多function,我应该把这个class放在哪里,才能在Controller中调用到这个class里的function? 比如在List这个Controller中。

其实,只有一个问题,能不能放在Common文件夹下面

class类 - ThinkPHP 3.2.3,我有一个class,应该放在哪里?

/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个办法

  1. 重构一次代码,符合thinkphp的model规范

  2. 看下官方的类库扩展,看看是否可以整合进来,因为你这可能还牵涉到数据库操作,具体就要看你如何调试了

  3. 最坏的打算就如 KingzChenung 所说include也可以

get_user_info这个是类的名字还是方法的名字,目前看着好像是方法的名字啊,如果是类的话就可以根据命名空间区分出来一个utils这样的命名空间来存放这个类,具体的要看你的命名空间根目录是怎样了

可以在controller同级目录新建自定义目录,类改命名空间,然后就能引用。其实在其他地方也是随便你的,大不了自己include,最多不符合框架规范而已。

作为第三方插件引入呢

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn