设为首页 收藏本站
查看: 1096|回复: 0

[经验分享] TP3.2之引入第三方类库文件和普通.php文件

[复制链接]

尚未签到

发表于 2017-12-30 21:18:08 | 显示全部楼层 |阅读模式
  1、引入第三方类库 .class.php文件
  1.1 类库有写namespace命名空间


  • namespace Org\Util;
  • class Auth {
  • }
  保存到ThinkPHP/Library/Org/Util/Auth.class.php。(也就是说以Think、Org为根命名空间的类都可以自动加载:)
  在其他Controller中,实例化:


  • new \Org\Util\Auth();
  1.2 手动加载第三方类库
  如果要加载第三方类库,包括不符合命名规范和后缀的类库,以及没有使用命名空间或者命名空间和路径不一致的类库,或者你就是想手动加载类库文件,我们都可以通过手动导入的方式加载。
  我们可以使用import方法导入任何类库,用法如:
  

// 导入Org类库包 Library/Org/Util/Date.class.php类库  
import("Org.Util.Date");
  
// 导入Home模块下面的 Application/Home/Util/UserUtil.class.php类库
  
import("Home.Util.UserUtil");
  
// 导入当前模块下面的类库
  
import("@.Util.Array");
  
// 导入Vendor类库包 Library/Vendor/Zend/Server.class.php
  
import('Vendor.Zend.Server');
  

  对于import方法,系统会自动识别导入类库文件的位置,ThinkPHP可以自动识别的类库包包括Think、Org、Com、Behavior和Vendor包,以及Library目录下面的子目录,如果你在Library目录下面创建了一个Test子目录,并且创建了一个UserTest.class.php类库,那么可以这样导入:
  

import('Test.UserTest');  

  注意,如果你的类库没有使用命名空间定义的话,实例化的时候需要加上根命名空间,例如:
  

public funcion index(){  import(
'Test.UserTest');$test = new \UserTest();  
}
  

  3、手动加载第三方普通.php后缀的原生文件
  如果你的第三方类库都放在Vendor目录下面,并且都以.php为类文件后缀,也没用采用命名空间的话,那么可以使用系统内置的Vendor函数简化导入。 例如,我们把 Zend \ Filter\Dir.php 放到 Vendor 目录下面,这个时候 Dir 文件的路径就是 Vendor\Zend\Filter\Dir.php,我们使用vendor 方法导入只需要使用:
  

public function index(){  

  Vendor(
'Zend.Filter.Dir');  

$obj = new \();  

  
}
  

  另外:如果你的文件是a.b.php(b不是class)的话,也可以这样导入:
  

Vendor('目录.a#b');  

  实例化对象时候,以class ab {...}示例:new \ab();
  4、手动加载.php后缀且面向过程的文件
  什么叫面向过程,就是文件里面没有class aaa{} , 不用实例化操作,直接使用。
  我们可以使用原生的语法:
  在控制器的方法里面使用:
  include_once ‘./ThinkPHP/Library/Vendor/lib/aaa.bbb.php’;
  这样就完美的引入了一些原生面向过程的.php文件。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-430119-1-1.html 上篇帖子: 在PHP中,将一个汉字数组按照拼音首字母进行排序 下篇帖子: 在PHP里面用 Select count(*)获得的记录数,怎么赋值给一个变量啊
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表