Heim  >  Artikel  >  Backend-Entwicklung  >  PHP中use、命名空间、引入文件等知识详解

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

小云云
小云云Original
2018-03-17 10:04:574073Durchsuche

本文主要和大家分享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加强使用

Das obige ist der detaillierte Inhalt vonPHP中use、命名空间、引入文件等知识详解. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn