>  기사  >  백엔드 개발  >  PHP中use、命名空间、引入文件等知识详解

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

小云云
小云云원래의
2018-03-17 10:04:574049검색

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

위 내용은 PHP中use、命名空间、引入文件等知识详解의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.