tinkphp3.2 yii2 调用控制器方法怎么调用模型

求助:TP3.2 如何调用第三方类库
&& 发表于: 10:59&&
TP3.2中的COM、ORG、Vendor等目录下的第三方类库,怎么引用啊?
直接用 use ORG\XXX\XXXX
不好用啊,说找不到。
了解的请帮忙解释一下,谢谢。
共 12 条关于 求助:TP3.2 如何调用第三方类库 的回复 &&
最后回复 09-26 05:44
于 12/16 12:46 说:
说找不到。
于 12/16 12:58 说:
只要命名空间路径和类的实际路径一致的话 都是自动加载的,如果你的定义规范和后缀不同的话 则需要手动用import方法先导入了。
于 12/16 13:57 说:
下面的文章来自thinkphp3.2的手册(架构>自动加载),你看了,应该可以解决你的问题
你可以在Library目录下面任意增加新的目录,就会成为一个根命名空间根。
注册新的命名空间
除了Library目录下面的命名空间之外,我们还可以注册其他的根命名空间,例如:
'AUTOLOAD_NAMESPACE' => array(
=> THINK_PATH.'My',
=> THINK_PATH.'One',
配置了上面的AUTOLOAD_NAMESPACE后,如果我们实例化下面的类库
new My\Net\IpLocation();
new One\Util\Log();
会自动加载对应的类库文件
Think/My/Net/IpLocation.class.php
Think/One/Util/Log.class.php
于 12/16 14:17 说:
回3楼:leeyi
下面的文章来自thinkphp3.2的手册(架构>自动加载),你看了,应该可以解决你的问题
你可以在Library目录下面任意增加新的目录,就会成为一个根命名空间根。
注册新的命名空间
除了Library目录下面的命名空间之外,我们还可以注册其他的根命名空间,例如:
'AUTOLOAD_NAMESPACE' => array(
=> THINK_PATH.'My',
=> THINK_PATH.'One',
配置了上面的AUTOLOAD_NAMESPACE后,如果我们实例化下面的类库
new My\Net\IpLocation();
new One\Util\Log();
会自动加载对应的类库文件
Think/My/Net/IpLocation.class.php
Think/One/Util/Log.class.php
楼主的情况是加载的Library目录下面的类库 是不需要自定义命名空间的
于 12/16 14:45 说:
回4楼:thinkphp
回3楼:leeyi
下面的文章来自thinkphp3.2的手册(架构>自动加载),你看了,应该可以解决你的问题
你可以在Library目录下面任意增加新的目录,就会成为一个根命名空间根。
注册新的命名空间
除了Library目录下面的命名空间之外,我们还可以注册其他的根命名空间,例如:
'AUTOLOAD_NAMESPACE' => array(
=> THINK_PATH.'My',
=> THINK_PATH.'One',
配置了上面的AUTOLOAD_NAMESPACE后,如果我们实例化下面的类库
new My\Net\IpLocation();
new One\Util\Log();
会自动加载对应的类库文件
Think/My/Net/IpLocation.class.php
Think/One/Util/Log.class.php
楼主的情况是加载的Library目录下面的类库 是不需要自定义命名空间的
我就是下载了php-markdown ,将解压的目录放到了ORG目录下了。名字什么按规则也改了,空间命名也改了,就是不好用。
于 12/16 15:17 说:
解决了。哎,对php-markdown的类名称及内部调用一通改啊。这种第三方库怎么加更好呢,最好不要改人家的任何东西。便于以后维护。大家给个建议。
于 12/16 15:54 说:
我之前遇到类似的问题,我当时弄的是phpexcel这个类,我是将它放在了public/static里面了 在项目的公共函数处写个公共方法,用的时候直接这个方法就好了,啥也不用改。
于 12/20 15:11 说:
回7楼:dongqing
我之前遇到类似的问题,我当时弄的是phpexcel这个类,我是将它放在了public/static里面了 在项目的公共函数处写个公共方法,用的时候直接这个方法就好了,啥也不用改。
这样的方式也不是不行,哎,只是不能统一位置管理了。
于 12/29 06:28 说:
顶一下 知道的给个好点的用法
于 04/16 13:21 说:
回 dongqing:
我之前遇到类似的问题,我当时弄的是phpexcel这个类,我是将它放在了public/static里面了 在项目的公共函数处写个公共方法,用的时候直接这个方法就好了,啥也不用改。
公共方法怎么写的
于 04/16 13:22 说:
回 dongqing:
公共方法怎么写的
于 09/26 17:44 说:
上海顶想信息科技有限公司版权所有
沪ICP备号-3 本站由onethink强力驱动thinkphp3.2.3 同控制器下不同function调用session问题? - 知乎4被浏览649分享邀请回答0添加评论分享收藏感谢收起0添加评论分享收藏感谢收起ThinkPHP3.2.2的插件控制器功能简述
投稿:shichen2014
字体:[ ] 类型:转载 时间:
这篇文章主要介绍了ThinkPHP3.2.2的插件控制器功能,需要的朋友可以参考下
ThinkPHP从3.2.2版本开始支持插件控制器的调用,可以通过更加方便的URL地址访问到模块中某个插件定义的控制器。
当URL中传入插件控制器变量的时候,会自动定位到插件控制器中的操作方法。
插件控制器的变量由参数 VAR_ADDON 进行设置,默认为addon,例如我们在URL中传入:
http://serverName/Home/info/index/addon/SystemInfo
由于传入了addon参数,因此这里的User控制器并非原来的
Home/Controller/InfoController.class.php
而是调用SystemInfo插件(位于Home/Addon目录下面)的InfoController控制器了,文件位于
Home/Addon/SystemInfo/Controller/InfoController.class.php
插件控制器本身的定义和普通的访问控制器一样,例如:
namespace Home\Addon\SystemInfo\C
class InfoController extends \Think\Controller{
public function index(){
echo 'Addon SystemInfo';
这样,我们在访问
http://serverName/Home/info/index/addon/SystemInfo
的时候 就会输出
Addon SystemInfo
如果我们的插件目录不是Addon,而是Plugin,那么需要在配置文件中定义:
'VAR_ADDON'
然后访问URL地址就变成了
http://serverName/Home/info/index/plugin/SystemInfo
需要注意的是:目前插件控制器仅支持模块的插件控制器访问,尚不支持全局的公共插件。
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具匿名用户不能发表回复!|
每天回帖即可获得10分可用分!小技巧:
你还可以输入10000个字符
(Ctrl+Enter)
请遵守CSDN,不得违反国家法律法规。
转载文章请注明出自“CSDN(www.csdn.net)”。如是商业用途请联系原作者。ThinkPHP控制器间实现相互调用的方法
投稿:shichen2014
字体:[ ] 类型:转载 时间:
这篇文章主要介绍了ThinkPHP控制器间实现相互调用的方法,主要通过A()方法实现这一功能,可以有效的提高代码的重复利用率,非常具有实用价值,需要的朋友可以参考下
本文实例讲述了ThinkPHP控制器间实现相互调用的方法。分享给大家供大家参考。具体实现方法如下:
ThinkPHP同一个项目里,两个控制器的方法如何相互调用呢?ThinkPHP提供了一个A(),通过它可以使控制器之间的方法相互调用,使得代码可以重复利用。
官方似乎对A()方法没有相关使用文档,现在通过一个例子来说一下如使用A()方法。
有两个控制器,ColumnsAction和NewsAction。ncatlist()是ColumnsAction的分类列表方法,现在我要在控制器NewsAction中调用ncatlist()方法。
代码如下:class ColumnsAction extends Action{&&
public function ncatlist(){&
&&& $Columns=new M&
&&&&&&&&&&&&&&&&&&&&
&&& $News = M("News");&
&&& $list=$Columns-&query("SELECT concat(colPath,'-',colId) AS bpath, colId,colPid,colPath, colTitle, description,ord FROM ".C('DB_PREFIX')."columns where typeid=1&&
ORDER BY bpath, colId");&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&& $this-&assign('alist',$list);&&&&&&
class NewsAction extends CommonAction {&
&&& // 首页&
&&& public function index() {&
&& $Columns=A("Columns");&
&& $Columns-&ncatlist();&
这样在模板中你就可以循环alist来获取分类列表了。
说明:上面的代码是WBlog3.0(使用thinkphp3.0的核心包)的代码版断,不过我查看了thinkphp3.1和thinkph3.12核心包还保留着A方法。
更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《》、《》、《》、《》及《》。
希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具}

我要回帖

更多关于 tp 控制器调用模型 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信