ホームページ  >  記事  >  バックエンド開発  >  PHP中use、命名空间、引入文件等知识详解

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

小云云
小云云オリジナル
2018-03-17 10:04:574056ブラウズ

本文主要和大家分享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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。