首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

PHP命名空间用法实例分析

本文实例讲述了PHP命名空间用法。分享给大家供大家参考,具体如下: 在讲解命名空间之前,我们先了解一个问题。 我们在网站根目录创建一个文件夹,在文件夹中创建a.php <?...而如果我们确实需要同时用到时,这时候就可以运用到命名空间解决这个问题。将a.php和b.php稍微更改: a.php <?...,可以看到已经没有报错了,因为这两个Apple类在不同的命名空间中,不存在重写问题了。...我们分别实例化a.php和b.php中的两个类,分别调用其中的get_info方法。 <?...那么问题又来了,如果我们需要多次实例化这个类,岂不是每次都要一长串的命名空间?这样看起来代码十分臃肿。我们可以对代码再做修改。 <?

95230
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    实例讲解PHP中使用命名空间

    php namespace Dojo; class Ninja { } 在上面的示例中,我们在Dojo命名空间中创建了一个名为Ninja的新类。...如果我们没有使用命名空间,并且我们的应用程序中包含了另一个名为Ninja的类,那么我们将得到一个错误,说明我们不能重新声明类。 那么命名空间就可以解决这个问题。我们可以创建另一个类,像这样: <?.../ create a new Ninja in the Training namespace $ninja2 = new Training\Ninja(); 这两个类是不同的,可能具有不同的功能,因此命名空间允许我们使用相同的类名...我想指出的最后一点是,通常在使用命名空间时,你要遵循命名空间的文件夹结构,以便更容易找到这些文件的位置。 所以我们的Training / Ninja.php文件可能会存在于Training文件夹中。...只要记得给他们一个命名空间

    35731

    PHP命名空间

    概述 什么是命名空间呢? 这个概念我第一次知道是在C++中. 首先, 为什么要用到命名空间呢?...当然是为了解决重名的问题了, 其实命名空间和Java中的包有着异曲同工之妙, Java中 a包下的Test类, 和b包下的Test类是两个类, 在使用的时候import不同包下即可, PHP中 a命名空间下的...好了, 看PHP命名空间的简单应用: 是不是很简单? 但是我有如下问题? 不指定命名空间时, 如何? 不将类use进来,直接创建,如何? 若要引入不同命名空间的同名类, 如何? 问题解决 1....当不指定命名空间时, 为全局空间,公共空间 2. 不讲类use进来, 直接创建时, 将在当前命名空间下寻找 3....引入不同命名空间的同名类时, 可以使用别名来区分同名类 总结 PHP命名空间与文件所处路径是没有关系的, 使用时, 最方便的就是直接使用根路径进行引入, 如果使用相对路径, 可能会混淆 其实, 就将命名空间当作路径来使用就可以了

    2.3K21

    php命名空间详解

    这个原理应用到程序设计领域就是命名空间的概念。 2、命名空间解决的问题 2.1、用户编写的代码与PHP内部的类/函数/常量或第三方类/函数/常量之间的名字冲突。...3、定义命名空间 3.1、虽然任意合法的PHP代码都可以包含在命名空间中,但只有三种类型的代码受命名空间的影响,它们是:类,函数和常量。 3.2、命名空间通过关键字namespace 来声明。...如果一个文件中包含命名空间,它必须在其它所有代码之前声明命名空间 3.3、另外,与PHP其它的语言特征不同,同一个命名空间可以定义在多个文件中,即允许将同一个命名空间的内容分割存放在不同的文件中。...PHP 命名空间支持 有两种使用别名或导入方式:为类名称使用别名,或为命名空间名称使用别名。注意PHP不支持导入函数或常量。在PHP中,别名是通过操作符 use 来实现的. 例子如下: <?... new ArrayObject(array(1)); // 实例化 ArrayObject 对象 // 如果不使用 “use \ArrayObject” ,则实例化一个 foo\ArrayObject

    2.5K80

    PHP 命名空间介绍

    什么是命名空间 2. namespace 关键字声明命名空间 3. 命名空间名称的命名规则 1....什么是命名空间 ---- 主要作用:解决命名冲突问题 命名空间是指人为的将内存分隔, 让不同内存区域的同名结构共存。...文件夹对于文件夹内的文件来说就充当了命名空间的角色,两个文件名相同的文件不同放在同一个文件夹下,但是可以放在不同的文件夹下 2. namespace 关键字声明命名空间 ---- 1....命名空间第一次声明必须在所有代码之前 如果一个文件中包含命名空间, 必须在其他所有代码之前声明命名空间 但是 PHP7 严格模式(declare)除外, 严格模式声明可以放在声明命名空间之前 declare...命名空间名称的命名规则 ---- 系统关键字不能作为空间名称, 如: list、echo 等 以字母或下划线开头, 有字母、下划线、数字组成

    1.7K40

    PHP命名空间学习笔记

    命名空间的支持版本:PHP 5 > 5.3.0,PHP 7 。 什么是命名空间 从广义上来说,命名空间是一种封装事物的方法。在很多地方都可以见到这种抽象概念。...PHP 命名空间提供了一种将相关的类、函数和常量组合到一起的途径。 定义命名空间 命名空间通过关键字namespace 来声明。...另外,所有非 PHP 代码包括空白符都不能出现在命名空间的声明之前。同一个命名空间可以定义在多个文件中,即允许将同一个命名空间的内容分割存放在不同的文件中。 <?...使用命名空间 所有支持命名空间PHP版本支持三种别名或导入方式:为类名称使用别名、为接口使用别名或为命名空间名称使用别名。PHP 5.6开始允许导入函数或常量或者为它们设置别名。...为了简化操作,PHP还支持在一行中使用多个use语句。 如果没有定义任何命名空间,所有的类与函数的定义都是在全局空间,与 PHP 引入命名空间概念前一样。

    1.6K20

    PHP 命名空间和自动加载原理与用法实例分析

    本文实例讲述了PHP 命名空间和自动加载原理与用法。...分享给大家供大家参考,具体如下: PHP 命名空间 php5.3 之后引入了命名空间的特性,从本质上讲,命名空间就是一个容器,你可以将类、函数和变量放在其中,在命名空间中,你可以无条件地访问这些项,在命名空间之外...,PHP还支持声明嵌套的命名空间,如 namespace com\getinstance\util; 使用命名空间 在本命名空间内部可以直接调用命名空间中的类或函数、变量, 因为我已经位于命名空间中了,...::helloworld(); 前导的反斜杠告诉 PHP 从根命名空间而不是从当前命名空间开始搜索。...自动加载 PHP5 引入了 __autoload() 方法来自动包含类文件,当 PHP 引擎遇到试图实例化未知类的操作时,会调用 __autoload() 方法(如果已经定义),并将类名当作字符串参数传递给它

    1.1K20

    PHP类的自动加载与命名空间用法实例分析

    本文实例讲述了PHP类的自动加载与命名空间用法。...,只是能够基础地使用,在这里系统的记录一下关于命名空间与类的自动加载知识。...echo "\r\n"; $test = new app\Test\Test(); $test- index(); //输出 app\Test\Test\index 命名空间 看到这里相信你应该已经对命名空间有了一个大致的了解...什么是命名空间? 从广义上来说,命名空间是一种封装事物的方法。在很多地方都可以见到这种抽象概念。例如,在操作系统中目录用来将相关文件分组,对于目录中的文件来说,它就扮演了命名空间的角色。...这个原理应用到程序设计领域就是命名空间的概念。 所以你可以将他理解为:文件夹。。。 希望本文所述对大家PHP程序设计有所帮助。

    1.1K30

    PHP命名空间(Namespace)初探

    命名空间一个最明确的目的就是解决重名问题,PHP中不允许两个函数或者类出现相同的名字,否则会产生一个致命的错误。这种情况下只要避免命名重复就可以解决,最常见的一种做法是约定一个前缀。...创建一个命名空间需要使用namespace关键字,这样: <?php //创建一个名为'Article'的命名空间 namespace Article; ?...php namespace Article; ?> 复制代码 为什么要说第一个命名空间呢?因为同一脚本文件中可以创建多个命名空间。...php function getIP() { } class FilterXSS { } ?> 复制代码 在一个命名空间里引入这个脚本,脚本里的元素不会归属到这个命名空间。...> 复制代码 总结 我对PHP命名空间刚刚接触,也不能随便给一些没有实践的建议。我个人认为命名空间的作用和功能都很强大,如果要写插件或者通用库的时候再也不用担心重名问题。

    1.7K10

    秒懂php命名空间

    秒懂php命名空间 2018-1-1 “什么是命名空间?从广义上来说,命名空间是一种封装事物的方法。在很多地方都可以见到这种抽象概念。...这个原理应用到程序设计领域就是命名空间的概念。”(来自php官网) 但其实使用了很久命名空间后,我才对它有了一些理解。...接下来,通过一个小例子,让你秒懂明明空间怎么用~ Tips:以下示例中成为了两个文件,一个Demo.php,一个index.php,两个文件处于同级目录下;Demo.php文件中书写命名空间以及Demo...:Demo.php中有一个_NAMESPACE__魔法常量;“它包含当前命名空间名称的字符串。...在Demo.php中定义了一个namespace,也就是命名空间后,接着定义了Demo类,然后这个Demo类就被归并到了DemoNameSpace命名空间中去了,那么要调用这个Demo类时,自然要先调用这个

    1.4K20

    PHP命名空间简单用法示例

    本文实例讲述了PHP命名空间简单用法。分享给大家供大家参考,具体如下: 有三个文件,分别是space1.php,space2.php,use.php吧,在同一目录里。 space1.php: <?...$this- name; } } use.php: <?php //我们都知道同一目录下,不能存放相同名字的同类文件。那么可以把同名文件存放在不同目录里。 //全名空间跟上面的意思类似。...//假如有两个PHP文件,文件里都有一个Employees类。在同一个文件里创建两个Employees对象,肯定是不行的,此时就可以用上命名空间。...相关内容感兴趣的读者可查看本站专题:《php面向对象程序设计入门教程》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《PHP网络编程技巧总结》、《PHP数组(Array)操作技巧大全》、...《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》 希望本文所述对大家PHP程序设计有所帮助。

    41921

    PHP 命名空间原理与用法详解

    本文实例讲述了PHP 命名空间原理与用法。...分享给大家供大家参考,具体如下: 命名空间适用于 (PHP 5 = 5.3.0, PHP 7) 使用命名空间基础 PHP 命名空间类似于文件系统, 在文件系统中访问一个文件有三种方式: 相对文件名形式如...定义命名空间 虽然任意合法的PHP代码都可以包含在命名空间中,但只有以下类型的代码受命名空间的影响, 它们是: 类(包括抽象类和traits) 接口 函数 常量 命名空间通过关键字namespace...php use My\Full\Classname as Another, My\Full\NSname; $obj = new Another; // 实例化 My\Full\Classname 对象...全局空间 如果没有定义任何命名空间,所有的类与函数的定义都是在全局空间,与 PHP 引入命名空间概念前一样。

    91820

    PHP命名空间的使用例子

    使用命名空间可以解决名字冲突,比如定义了一个类,正好这个类与PHP内部的类或是include进来的一个类库里的类重名的时候。...PHP中,只有类、函数、常量会受命名空间影响,php 5.3以后可以使用const关键字来定义常量,5.3这前使用define,命名空间只对const关键字有效。...定义了命名空间后,使用的时候就要加上命名空间的名称,如下php代码:(file2.php) <?php include ("file1.php"); echo MyProject\A."...命名空间可以有多层次模式,如下: namespace MyProject\Sunname; 一个php文件中可以有多个不同的命名空间,如下代码:(file3.php) <?...不仅如此,还可以用use关键词导入命名空间,如下php代码: <?php include ("file1.php"); use MyProject as ns; echo ns\A."

    1.1K30
    领券