Home  >  Article  >  Backend Development  >  PHP中use、命名空间、引入文件等知识详解

PHP中use、命名空间、引入文件等知识详解

小云云
小云云Original
2018-03-17 10:04:574049browse

本文主要和大家分享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’

使用的时候,

ossClient=newOSS\OssClient(ossClient=newOSS\OssClient(accessKeyId, accessKeySecret,accessKeySecret,endpoint, false);

或者这样

ossClient=newOssClient(ossClient=newOssClient(accessKeyId, accessKeySecret,accessKeySecret,endpoint, false);

都可以!

2.第二种引入方式(前提是有了自动加载机制)

import(‘@.ORG.OSS.OssClient’); // thinkphp中的加载机制

使用的时候,只能

ossClient=newOSS\OssClient(ossClient=newOSS\OssClient(accessKeyId, accessKeySecret,accessKeySecret,endpoint, false); // 其中OSS是命名空间

thinkphp中有一种自动加载命名空间的机制,

框架Liberary目录下的命名空间都可以自动识别和定位,如下

Library 框架类库目录 
│ ├─Think 核心Think类库包目录 
│ ├─Org Org类库包目录 
│ ├─ … 更多类库目录

所以,如果有命名空间,不需要引入文件也可以。 
但是没有命名空间的类,如果不引入文件,就会报错。

import一下就可以了,

相关推荐:

PHP新特性use加强使用

The above is the detailed content of PHP中use、命名空间、引入文件等知识详解. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn