tp 自动加载的介绍: http://document.thinkphp.cn/manual_3_2.html#autoload

第三方库不规范库 不适用命名空间的库 可以使用import函数导入,其有三个参数,第一个文件名,第二起始导入路径,第三个后缀

import("RBAC.AccessDecisionManager",dirname(__FILE__),".php");

vendor函数参数和import一样  vendor("RBAC.AccessDecisionManager",dirname(__FILE__),".php");等于import("Vendor.RBAC.AccessDecisionManager",dirname(__FILE__),".php");

阿里oss php库 是符合命名空间的库 我使用import和vendor怎么都导入不了。

地址: https://github.com/aliyun/aliyun-oss-php-sdk?spm=a2c4g.11186623.2.9.2ab622150dWD7x

阿里oss库 支持composer 安装。

需要自动加载的方法载入,

具体如下:

1. 下载sdk文件解压到 vendor目录新建的AliOSS目录。

2.在使用的地方

Vendor('AliOSS.autoload');
$config=C('ALIOSS_CONFIG');
try {
$ossClient=new \OSS\OssClient($config['KEY_ID'],$config['KEY_SECRET'],$config['END_POINT']);
// $ossClient = new Vendor\AliOSS\OssClient($accessKeyId, $accessKeySecret, $endpoint);
$bucketListInfo = $ossClient->listBuckets();
p($bucketListInfo);
$bucketList = $bucketListInfo->getBucketList();
foreach($bucketList as $bucket) {
print($bucket->getLocation() . "\t" . $bucket->getName() . "\t" . $bucket->getCreatedate() . "\n");
}
} catch (OssException $e) {
// echo "string";
print $e->getMessage();
}

原理大概是 手动Vendor加载了sdk的自动加载文件,然后此命名空间的下的文件加载都会通过配置的加载方法自动加载。

遗留问题: 如果两个sdk 命名空间都是OSS 怎么区分? 会加载冲突吗?

thinkphp 3.2 加载第三方库 第三方命名空间库的更多相关文章

  1. 下拉刷新和上拉加载更多(第三方框架MJRefresh)

    #import "RootViewController.h" #import "MJRefresh.h" @interface RootViewControll ...

  2. thinkphp 3.2加载类

    基础方式(自动加载) 控制器: public function ff(){ $t = new \Org\Util\Abc(); echo $t->ss(); } ThinkPHP\Library ...

  3. 实现正在加载中界面的Android库:DynamicBox

    转载. DynamicBox是一个Android库,能够inflates自定义布局来指示出: 正在加载内容 显示一个异常 或者是一个自定义视图     项目主页:http://www.open-ope ...

  4. ThinkPHP配置文件的加载

    分类: thinkphp(39) 版权声明:本文为博主原创文章,未经博主允许不得转载. 惯例配置->应用配置->模式配置->调试配置->状态配置->模块配置->扩展 ...

  5. 自定义的库加载不进来,因为库中import的PIL和pillow文件没有pip install

    1.自定义的库,加载进来,提示red不能识别这个class或moudle 2.应该展开细节多看下,细节中提示,没有PIL和pillow 3.这个时候在cmd中使用pip安装PIL和pillow pip ...

  6. composer的autoload来自动加载自己编写的函数库与类库?

    1.使用命令composer init生成composer.json文件,并编辑autoload选项内容如下: 其中又包含主要的两个选项: files 和 psr-4. files就是需要compos ...

  7. iOS异步图片加载优化与常用开源库分析

    网络图片显示大体步骤: 1.下载图片: 2.图片处理(裁剪,边框等): 3.写入磁盘: 4.从磁盘读取数据到内核缓冲区: 5.从内核缓冲区复制到用户空间(内存级别拷贝): 6.解压缩为位图(耗cpu较 ...

  8. thinkphp ajax分页加载更多最简单的实现方法

    <div class="li_list"> <volist name="list" id="vo"> <div ...

  9. thinkPHP+LayUI 懒加载实现

    html <div class="layui-container" id="container"> </div> js,要引入layui ...

随机推荐

  1. eureka 和zookeeper 区别 优势【转】

    作为服务注册中心,Eureka比Zookeeper好在哪里 著名的CAP理论指出,一个分布式系统不可能同时满足C(一致性).A(可用性)和P(分区容错性).由于分区容错性在是分布式系统中必须要保证的, ...

  2. PHP中封装Redis购物车功能

    <?php // 服务层 namespace Common\Service; use Vendor\Func\Red; class CartService extends CommonServi ...

  3. PHP 的命令行模式

    php CLI SAPI 内置Web Server 从版本 4.3.0 开始,PHP 提供了一种新类型的 CLI SAPI(Server Application Programming Interfa ...

  4. 类的调用1(被调用的MyFirstJava)

    package com.mec.MyFirstJavaLife.text; public class MyFirstJava { /**   * @param args   */ private in ...

  5. python Scrapy 常见问题记录

    ImportError: No module named win32api 处理办法 windows系统上出现这个问题的解决需要安装Py32Win模块,但是直接通过官网链接装exe会出现几百个错误,更 ...

  6. C# 中 ? 和 ??

    a??2 等价于 a==null?2:a 原文:https://blog.csdn.net/szx1999/article/details/50996495

  7. Linux中命令行终端切换工具screen

    screen命令 本文转自:http://man.linuxde.net/screen Screen是一款由GNU计划开发的用于命令行终端切换的自由软件.用户可以通过该软件同时连接多个本地或远程的命令 ...

  8. 第 7 章 多主机管理 - 046 - 创建 Machine

    创建 Machine Machine 就是运行 docker daemon 的主机. “创建 Machine” 指的就是在 host 上安装和部署 docker. 创建第一个 machine: hos ...

  9. C#读取text内容并且于testbox中展现 保留换行实现方法

    直接上代码 //新建一个储存的list List<string> listLines = new List<string>(); StreamReader sr = new S ...

  10. springBoot springSecurty: x-frame-options deny禁止iframe调用

    springBoot springSecurty:  x-frame-options deny禁止iframe调用 https://blog.csdn.net/whiteforever/article ...