ThinkPHP 3.2.3,我有一个class,应该放在哪里?
迷茫
迷茫 2017-04-10 17:44:28
[PHP讨论组]

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

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

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回复(5)
巴扎黑

/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这样的命名空间来存放这个类,具体的要看你的命名空间根目录是怎样了

PHPz

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

PHPz

作为第三方插件引入呢

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号