TP5 中引入第三方类库

通过了解tp5的目录结构,我们知道其中有两个目录是纺织扩展类库文件的。

extend是放置自定义或者其他类文件的。

vendor目录是放置composer类库文件的。

当我们的第三方类库文件是下载的,而且类文件目录一层又一层,我们开发当中要按照tp5的命名规范来做效率就会非常的低,而且面向对象编程就是拿来即用,何必还要动手去改类文件的源码。

其实tp5给了我们一种方式去实现不用命名空间来加载第三方的类!

我们将类文件放到extend目录下,在控制器中要用到类的话可以通过import(),函数手动引入类文件,引入方法官方手册中有说明(架构->自动加载->类库导入)。

    // 引入 extend/qrcode.php
    Loader::import(‘qrcode‘, EXTEND_PATH);
    // 助手函数
    import(‘qrcode‘, EXTEND_PATH);
    // 引入 extend/wechat-sdk/wechat.class.php
    Loader::import(‘wechat-sdk.wechat‘, EXTEND_PATH,‘.class.php‘);
    // 助手函数
    import(‘wechat-sdk.wechat‘, EXTEND_PATH,‘.class.php‘);

手动引入了类文件后,进行实例化需要特别注意了!

我们需要在 new 类文件()时,在类文件前面加一个 “ \ ” ,即如下:

$obj = new  \Test();

加 ‘\’ 的原因是,tp5的命名空间自动加载规则:自动加载的实现由think\Loader类库完

成,自动加载规范符合PHP的PSR-4,根据对规则的了解,放在extend目录下没有定义

命名空间的类文件,就是全局化的类。实例化全局化的类的话,即用"\"放在类名前表

示此类是全局类,就new一个全局化的类!

原文地址:https://www.cnblogs.com/comeping/p/8724797.html

时间: 2024-07-31 21:06:57

TP5 中引入第三方类库的相关文章

angular4之爬坑之路(2)angular脚手引入第三方类库

如何在angular4脚手架中引入第三方类库呢比如jquery.swiper.bootstrap...... 例如引入jquery:(其他类库类比jquery即可) 第一步:在我们的项目目录下输入 npm install jquery --save 会看到在package.json文件中会自动出现对应的jquery的版本号: 第二步:在angular-cli.json文件下的scripts里填入jquery的路径:(需要在styles里引入对应的类库css路径) 第三步:下载对应类库的.d.ts

tp5中引入extend中的第三方类库 这里以验证码为例

1.首先在tp5底层vendor自带验证码类库,这里为了测试,可以先拷贝出来一份,放入到extend中,vendor->topthink->think-captcha 2.可以先在extend中先新建一个lib文件夹,把think-captcha中的内容放入到lib中 3.打开src下的Captcha.php文件 ,把命名空间namespace删除掉 ,extend文件夹下就算解决完成了. 4.控制器中: 首先应引入第三方类库,可以查看手册中的  自动加载模块. \ 的意思是不让它根据命名空间

【转】Android中引入第三方Jar包的方法(java.lang.NoClassDefFoundError解决办法)

原文网址:http://www.blogjava.net/anchor110/articles/355699.html 1.在工程下新建lib文件夹,将需要的第三方包拷贝进来.2.将引用的第三方包,添加进工作的build path.3.(关键的一步)将lib设为源文件夹.如果不设置,则程序编译可以通过,但运行的时候,会报: java.lang.NoClassDefFoundError # re: Android中引入第三方Jar包的方法(java.lang.NoClassDefFoundErro

iOS 优化内存(七)开发中使用第三方类库

在iOS中使用第三方类库 方法一:直接复制所有源文件到项目中 这种方法就是把第三方类库的所有源文件复制到项目中,直接把所有.h和.m文件拖到XCode项目中即可.如果第三方类库引用了一些系统自带类库,那么在项目中还需要额外引用那些类库. 如果当前的项目启用了ARC,而引用的第三方类库未使用ARC,那还需要在项目信息的Targets – Build Parses里找到第三方类库的.m文件,并为它们加上-fno-objc-arc标记. 而对于在未启用ARC的项目用引用使用了ARC的第三方类库,则需要

laravel引入第三方类库的方法

laravel版本:5.1 今天做的是引入第三方的phpquery类库,方法: 在laravel的app目录下自定义一个文件夹,我用的名字是:Libs 然后直接将phpquery类库扔进这个目录 在composer.json中的autoload下的classmap下加入"app/Libs/phpQuery" 然后在命令行中运行 composer dumpautoload 5.接下来就可以直接在控制器中使用phpquery类了.

用Swift实现MD5算法&引入第三方类库(MBProgressHUD)

之前项目里面是用objc写的MD5加密算法,最近在用swift重写以前的项目,遇到了这个问题.好在最后解决了.顺带解决掉的还有如何引入第三方的类库,例如MBProgressHUD(SVProgressHUD)等一些特别好的控件 解决的方法其实是用objc和swift混合编程的方法,利用Bridging-header文件. 什么是Briding-header?你可以简单的理解为在一个用swift语言开发的工程中,引入objective-c文件是需要做的一个串联文件,好比架设了一个桥,让swift中

android studio 项目中引入第三方lib

本文以引入https://github.com/chrisbanes/Android-PullToRefresh为例 借鉴参考:http://www.apkbus.com/android-125663-1-1.html 本人电脑上的android studio是1.2.1.1 ,sdk api22. 正常创建一个project(本例中project为名"demo") 开始为项目引入PullToRefresh类库 按下键盘上"F12"或File->new->

android studio 引入第三方类库jar包

第三方类库jar包 这就简单多了,直接将jar包拷贝到app/libs下,然后在app下的build.gradle中添加此jar的依赖.如下: dependencies { compile 'com.android.support:support-v4:19.1.0' compile files('libs/libammsdk.jar') compile files('libs/universal-image-loader-1.8.6-with-sources.jar') compile fil

iOS开发引入第三方类库的问题

在开发iOS程序的过程中,通常在导入第三方的类库(.a/.o)文件会报出一系列的错误: 看似缺少了某个类库文件,但多次检查之后发现,没缺少啥引用的,甚至跟原来的Demo一个都不差,这是怎么回事? 由于第三方类库多数是用C++或者C编写的,在引用过程中,还需要告诉编译器可能会出现的语言种类,以便使用对应的解释器进行解析. OK,那么我们只需要在XCode环境中检查以下几个配置项是否与下面一致即可: TARGETS->Build Settings,搜索 1.Other Linker Flags:-O