广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >php命名空间use关键字怎么用
  • 706
分享到

php命名空间use关键字怎么用

php命名空间use关键字 2015-12-20 13:12:54 706人浏览 无得
摘要

本教程操作环境:windows7系统、PHP7.1版,DELL G3电脑什么是命名空间?从广义上来说,命名空间是一种封装事物的方法,在很多地方都可以见到这种抽象概念。例如,在操作系统中目录用来将相关文件分组,对于目录中的文件来说,它就扮演了

教程操作环境:windows7系统、PHP7.1版,DELL G3电脑

什么是命名空间?

从广义上来说,命名空间是一种封装事物的方法,在很多地方都可以见到这种抽象概念。例如,在操作系统中目录用来将相关文件分组,对于目录中的文件来说,它就扮演了命名空间的角色。

命名空间的定义

php 中命名空间(namespace)是在 PHP5.3 中加入的,如果你了解过 c++ 的话,那命名空间就不算什么新事物了。不过命名空间在 PHP 当中还是相当重要的。

PHP 命名空间可以解决以下两类问题:

  • 用户编写的代码与 PHP 内部的类/函数/常量或第三方类/函数/常量之间的命名冲突;

  • 为很长的标识符名称(通常是为了缓解第一类问题而定义的)创建一个别名(或简短)的名称,以提高源代码的可读性。

定义命名空间(使用关键字 namespace)

虽然任意合法的 PHP 代码都可以包含在命名空间中,但只有类(包括抽象类和 traits)、接口、函数和常量等类型的代码受命名空间的影响。

命名空间的定义需要通过关键字 namespace 来声明,语法格式如下:

namespace 命名空间名;

【示例】下面我们来演示一下如何定义了命名空间:

<?php
    namespace MyProject;    // 定义名为 MyProject 的命名空间。
    const CONNECT_OK = 1;
    class Myclass {
        
    }
    function Myfunc() {
        
    }
?>

在声明命名空间之前除了用于定义源文件编码方式的 declare 语句外,所有非 PHP 代码(包括空白符)都不能出现在命名空间声明之前。

使用命名空间:别名/导入

PHP 允许通过别名引用或导入的方式来使用外部的命名空间,这是命名空间的一个重要特征。这有点类似于在类 unix 文件系统中可以创建对其它的文件或目录的符号连接。

使用 use 关键字可以实现命名空间的导入,从 PHP5.6 开始允许导入函数和常量,并为它们设置别名。语法格式如下:

use namespace;

在 PHP 中,别名是通过操作符 use 与 as 来实现的,语法格式如下:

use 命名空间 as 别名;

【示例】使用 use 操作符导入和使用别名。

<?php
    namespace foo;
    use My\Full\Classname as Another;
    // 下面的例子与 use My\Full\NSname as NSname 相同
    use My\Full\NSname;
    // 导入一个全局类
    use ArrayObject;
    // 导入一个函数
    use function My\Full\functionName;
    // 导入一个函数并定义别名
    use function My\Full\functionName as func;
    // 导入一个常量
    use const My\Full\CONSTANT;
    $obj = new namespace\Another;   // 实例化 foo\Another 对象
    $obj = new Another;             // 实例化 My\Full\Classname 对象
    NSname\subns\func();            // 调用 My\Full\NSname\subns\func 函数
    $a = new ArrayObject(array(1)); // 实例化 ArrayObject 对象
                                    // 如果不使用 "use \ArrayObject" ,则实例化一个 foo\ArrayObject 对象
    func();                         // 调用 My\Full\functionName 函数
    echo CONSTANT;                  // 打印 My\Full\CONSTANT 常量
?>

注意:对命名空间中的名称(包含命名空间分隔符的完全限定名称,如 Foo\Bar ,以及相对的不包含命名空间分隔符的全局名称,如 FooBar)来说,前导的反斜杠是不必要的也是不推荐的,因为导入的名称必须是完全限定的,不会根据当前的命名空间作相对解析。

为了简化操作,PHP 还支持在一行中导入多个命名空间,中间使用,隔开,示例代码如下:

<?php
    use My\Full\Classname as Another, My\Full\NSname;
    $obj = new Another;     // 实例化 My\Full\Classname 对象
    NSname\subns\func();    // 调用 My\Full\NSname\subns\func 函数
?>

导入操作是编译执行的,但动态的类名称、函数名称或常量名称则不是。

<?php
    use My\Full\Classname as Another, My\Full\NSname;
    $obj = new Another; // 实例化一个 My\Full\Classname 对象
    $a = 'Another';
    $obj = new $a;      // 实际化一个 Another 对象
?>

另外,导入操作只影响非限定名称和限定名称。完全限定名称由于是确定的,故不受导入的影响。

--结束END--

本文标题: php命名空间use关键字怎么用

本文链接: https://www.lsjlt.com/news/231.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • php命名空间use关键字怎么用
    本教程操作环境:windows7系统、PHP7.1版,DELL G3电脑什么是命名空间?从广义上来说,命名空间是一种封装事物的方法,在很多地方都可以见到这种抽象概念。例如,在操作系统中目录用来将相关文件分组,对于目录中的文件来说,它就扮演了...
    99+
    2015-12-20
    php 命名空间 use关键字
  • php命名空间怎么使用
    在PHP中,命名空间用来解决不同类或函数同名的问题,使其具有唯一性和可管理性。通过使用命名空间,可以将相关的类、函数和常量组织在一起...
    99+
    2023-08-08
    php
  • PHP关键特性之命名空间的示例分析
    这篇文章主要介绍PHP关键特性之命名空间的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!你知道命名空间主要是为了解决代码中类和函数可能存在冲突的问题的吗?而这个特性其他语言一早就有,PHP则是姗姗来迟,它的出...
    99+
    2023-06-15
  • 如何利用PHP7的命名空间和use关键字提高代码的可读性和可维护性?
    如何利用PHP7的命名空间和use关键字提高代码的可读性和可维护性?在软件开发中,代码的可读性和可维护性是非常重要的因素。在PHP7中,命名空间和use关键字的引入提供了一种优雅的方式来解决命名冲突和提高代码的可读性。通过合理使用命名空间和...
    99+
    2023-10-22
    PHP 命名空间 use关键字
  • php命名空间之怎么定义空间
    小编给大家分享一下php命名空间之怎么定义空间,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!首先,我们了解一下什么是命名空间。(有需要的可以参考PHP 命名空间)...
    99+
    2023-06-20
  • PHP命名空间怎么实现
    这篇文章给大家分享的是有关PHP命名空间怎么实现的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。PHP命名空间的实现不像C#和Java,PHP不得不保持没有名字空间的代码的兼容性。这个已经被实现,你可以选择使用或者...
    99+
    2023-06-17
  • C#命名空间怎么用
    这篇文章主要讲解了“C#命名空间怎么用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C#命名空间怎么用”吧!下面的程序演示了命名空间的用法:using System;namespa...
    99+
    2023-06-17
  • php命名空间的作用是什么
    PHP命名空间的作用是避免命名冲突和提高代码的可读性。在PHP中,命名空间允许我们在代码中定义一个独特的标识符前缀,以避免与同样标识...
    99+
    2023-10-12
    php
  • Vuex命名空间namespaced怎么使用
    这篇文章主要介绍“Vuex命名空间namespaced怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Vuex命名空间namespaced怎么使用”文章能帮助大家解决问题。在项目中,如果需要用...
    99+
    2023-07-05
  • php中怎么声明和引入命名空间
    这篇文章给大家介绍php中怎么声明和引入命名空间,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。一、命名空间1.1 介绍在一个大的项目中,可能会遇到同名的类、函数、常量,为了区分这些元素,我们可以将这些元素分别存放到不同...
    99+
    2023-06-20
  • PHP中自动加载autoload和命名空间怎么用
    小编给大家分享一下PHP中自动加载autoload和命名空间怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!先给大家说下什么...
    99+
    2022-10-19
    php autoload
  • php命名空间的调用顺序是什么
    这篇文章主要讲解了“php命名空间的调用顺序是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“php命名空间的调用顺序是什么”吧!完全限定函数、类和常量的调用将会在编译的时候解析。例如,n...
    99+
    2023-06-20
  • php中怎么访问命名空间内部元素
    小编给大家分享一下php中怎么访问命名空间内部元素,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!在php命名空间中,有两种方式可以访问当前命名空间内部元素,这两种...
    99+
    2023-06-20
  • python中命名关键字参数的作用是什么
    今天就跟大家聊聊有关python中命名关键字参数的作用是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。python主要应用领域有哪些1、云计算,典型应用OpenStack。2、W...
    99+
    2023-06-14
  • php中function关键字怎么用
    今天小编给大家分享一下php中function关键字怎么用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。function是p...
    99+
    2023-06-29
  • C#命名空间和程序集怎么使用
    这篇文章主要介绍“C#命名空间和程序集怎么使用”,在日常操作中,相信很多人在C#命名空间和程序集怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C#命名空间和程序集怎么使用”的疑惑有所帮助!接下来,请跟...
    99+
    2023-06-17
  • 【C++深入浅出】初识C++上篇(关键字,命名空间,输入输出,缺省参数,函数重载)
         目录 一. 前言 二. 什么是C++ 三. C++关键字初探 四. 命名空间 4.1 为什么要引入命名空间 4.2 命名空间的定义 4.3 命名空间使用 五. C++的输入输出 六. 缺省参数 6.1 缺省参数的概念 6.2 缺...
    99+
    2023-09-02
    c++ 开发语言 笔记 函数重载 缺省参数 命名空间
  • Python命名空间、作用域和装饰器怎么使用
    今天小编给大家分享一下Python命名空间、作用域和装饰器怎么使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、名称空间...
    99+
    2023-06-30
  • TypeScript模块与命名空间的关系和使用方法是什么
    这篇文章主要讲解了“TypeScript模块与命名空间的关系和使用方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“TypeScript模块与命名空间的关系和使用方法是什么”吧!一、模...
    99+
    2023-07-05
  • javascript、php关键字搜索函数怎么用
    这篇文章给大家分享的是有关javascript、php关键字搜索函数怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。javascript:a. 代码: function&nb...
    99+
    2022-10-19
    javascript php
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作