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

PHP命名空间

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

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

PHP的命名空间

命名空间用来解决在编写类库或应用程序时创建可重用的代码如类或函数时碰到的两类问题: 1. 用户编写的代码与PHP内部的类/函数/常量或第三方类/函数/常量之间的名字冲突。 2....为很长的标识符名称(通常是为了缓解第一类问题而定义的)创建一个别名(或简短)的名称,提高源代码的可读性。...虽然任意合法的PHP代码都可以包含在命名空间中,但只有以下类型的代码受命名空间的影响, 它们是:类(包括抽象类和traits)、接口、函数和常量。...如果一个文件中包含命名空间,它必须在其它所有代码之前声明命名空间 namespace MyProject; namespace MyProject\Sub\Level; funtion a(){}...php namespace MyProject; //非限定名称 同一个命名空间 b(); //限定空间 继承当前的命名空间 Sub\Level\a(); //使用完全限定名称 独立的命名空间

1.9K40

php命名空间详解

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

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 命名空间提供了一种将相关的类、函数和常量组合到一起的途径。...同一个命名空间可以定义在多个文件中,即允许将同一个命名空间的内容分割存放在不同的文件中。 <?...PHP还支持在同一个文件中定义不同的命名空间,但是非常不建议这种用法,这里就不多说了。...这里我有一个疑问,上面说命名空间定义必须是文件的第一行代码,那在一个文件中定义多个命名空间不就是会出现不在第一行的情况?

1.6K20

一个虚拟空间跑两个Asp.Net网站

这篇文章可能对租用虚拟空间的朋友有用,我租赁的虚拟空间只允许个人放一个网站,而我却有两个网站,我希望把我的两个网站都放到这个虚拟空间上,可不可以实现呢?答案当然是肯定的。...第一步当然是开发网站程序了,可以是两个不同的解决方案分别开发两个网站,需要注意的是,两个解决方案生成的dll名字不能重复,因为我们要把所有的dll都放到空间的bin目录下面。...第二步网站开发完成之后需要发布网站了,将两个解决方案的aspx文件以及文件夹都复制到一个目录下面(同样是不能重复的,否则会互相覆盖),将两个项目的所有dll文件都放到一个bin目录下面 第三步是合并配置文件...,需要注意两个项目配置中的key不能重复 第四步需要在首页根据url的Host进行跳转 最后一步需要将两个网站的域名都指向同一个ip地址 只是一种权益之计,不过两个系统还是可以正常运行的。

2.1K30

好用的php空间,推荐国内三个优质的免费PHP空间

1.亿家免费国内PHP空间 这是我见过最好的免费国内PHP空间了,这个BLOG就是由他的空间支撑的,所以你看到我这个空间的稳定,快速就代表着他们空间的优质了,推荐 注册地址:www.e9china.net...这个先要在他们论坛上发帖子,当你在论坛里的号升级后,就可以到相应版块去提交申请免费国内PHP空间了,具体多少级我记不得了,现在论坛改版本了,我都成新手上路了··· 这个免费国内PHP空间你得到后,不需要你再做任何动作了...,不过还是去论坛逛逛吧,感恩一下哦··· 2.5i8我爱吧免费国内PHP空间 这个免费国内PHP空间是150MB,1.5GB的月流量,是新加坡的服务器,速度和稳定性很不错 注册地址:bbs.5i8.us...广告··· 3.地平线站长学院免费国内PHP空间 这个免费国内PHP空间相对来说也很不错,有两个分站,在主站上有链接,分别是甘肃电信和河北网通,主站是温州电信的,我就提供主站地址了 注册地址:www.121xx.net...这个免费国内PHP空间注册要求更低了,只要有邀请地址就可以注册了,点击下面的链接会出现一个页面,上面会有链接,点击 进去后就可以申请该免费PHP空间了 http://liuyan.net.ru/yqm.htm

9.4K20

PHP命名空间(Namespace)初探

命名空间一个最明确的目的就是解决重名问题,PHP中不允许两个函数或者类出现相同的名字,否则会产生一个致命的错误。这种情况下只要避免命名重复就可以解决,最常见的一种做法是约定一个前缀。...另一个解决方法可以考虑使用命名空间。 注明: 本文提到的常量:PHP5.3开始const关键字可以用在类的外部。...创建一个命名空间需要使用namespace关键字,这样: <?php //创建一个名为'Article'的命名空间 namespace Article; ?...php namespace Article; ?> 复制代码 为什么要说第一个命名空间呢?因为同一脚本文件中可以创建多个命名空间。...php //创建一个名为'Article'的命名空间 namespace Article; //此Comment属于Article空间的元素 class Comment { } //创建一个名为

1.7K10

PHP 与 JSP 比较(PHPASP、JSP是什么)

PHP的语法和Perl很相似,但是PHP所包含的函数却远远多于Perl,PHP没有命名空间,编程时候必须努力避免模块的名称冲突。...一个开源的语言虽然需要简单的语法和丰富的函数,但PHP内部结构的天生缺陷导致了PHP不适合于编写比中小型业余网站更大的网站。   ...ASP的语法非常类似Visual BASIC,学过VB的人可以很快上手,ASP也是这几种脚本语言中最简单易学的开发语言。但ASP也是这几种语言中唯一的一个不能很好支持跨平台的语言。   ...如果非要将php和java在安全性上做个比较的话,同一个小偷光顾php那是随便拿来随便改,想拿什么拿什么,拿的高兴还能大笔一辉某某到此一游。...而PHP测试的是2000*2000循环(少一个数量级),却分别用了63秒。

7.9K11

秒懂php的命名空间

秒懂php的命名空间 2018-1-1 “什么是命名空间?从广义上来说,命名空间是一种封装事物的方法。在很多地方都可以见到这种抽象概念。...接下来,通过一个小例子,让你秒懂明明空间怎么用~ Tips:以下示例中成为了两个文件,一个Demo.php一个index.php,两个文件处于同级目录下;Demo.php文件中书写命名空间以及Demo...:Demo.php中有一个_NAMESPACE__魔法常量;“它包含当前命名空间名称的字符串。...在全局的,不包括在任何命名空间中的代码,它包含一个空的字符串。” 接着做示例: Demo.php不做变动,改动index.php文件,如下: <?...在Demo.php中定义了一个namespace,也就是命名空间后,接着定义了Demo类,然后这个Demo类就被归并到了DemoNameSpace命名空间中去了,那么要调用这个Demo类时,自然要先调用这个

1.4K20
领券