PHP中的use、命名空间、引⼊类⽂件、⾃动加载类的理解use只是使⽤了命名空间,
但是要想调⽤类,必须要加载类⽂件,或者⾃动加载。
即便是引⼊了其中⼀个类,如果没有⾃动加载机制,还是会报错
use的⼏种⽤法
namespace Blog\Article;
class Comment { }
//创建⼀个BBS空间(我有打算开个论坛)
namespace BBS;
//导⼊⼀个命名空间
use Blog\Article;
//导⼊命名空间后可使⽤限定名称调⽤元素
$article_comment = new Article\Comment();
//为命名空间使⽤别名
use Blog\Article as Arte;
//使⽤别名代替空间名
$article_comment = new Arte\Comment();
//导⼊⼀个类
use Blog\Article\Comment;
//导⼊类后可使⽤⾮限定名称调⽤元素
$article_comment = new Comment();
//为类使⽤别名
use Blog\Article\Comment as Comt;
/
/使⽤别名代替空间名
$article_comment = new Comt();
1.第⼀种引⼊⽅式(前提是有了⾃动加载机制)
use OSS\OssClient; // 表⽰引⼊Class ‘OSS\OssClient’
使⽤的时候,
accessKeyId, endpoint, false);
或者这样
accessKeyId, endpoint, false);
都可以!
2.第⼆种引⼊⽅式(前提是有了⾃动加载机制)
import(‘@.ORG.OSS.OssClient’); // thinkphp中的加载机制
国内php空间
使⽤的时候,只能
accessKeyId, endpoint, false); // 其中OSS是命名空间
thinkphp中有⼀种⾃动加载命名空间的机制,
框架Liberary⽬录下的命名空间都可以⾃动识别和定位,如下
Library 框架类库⽬录
│ ├─Think 核⼼Think类库包⽬录
│ ├─Org Org类库包⽬录
│ ├─ … 更多类库⽬录
所以,如果有命名空间,不需要引⼊⽂件也可以。
但是没有命名空间的类,如果不引⼊⽂件,就会报错。
import⼀下就可以了,
3.__autoload
这是⼀个⾃动加载函数,在PHP5中,当我们实例化⼀个未定义的类时,就会触发此函数。看下⾯例⼦:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。