PHP命名空间的概念与使用
命名空间在其它编程语言中其名称不尽相同,但其核心慨念都是自定义一个存储空间。避免类名重复系统无法判断该执行哪一个类或是哪一个函数。
举例说明下。我先创建test这个文件夹在其当前目录下再创建一个index.php文件这个作为调用类的主文件。
然后,在test文件夹下创建两个php文件 blog.php web.php 。
blog.php 文件代码如下
<?php
class Test{
public function index(){
return "这是blog。php文件下的index方法";
}
}
?>
web.php文件下的代码
<?php
class Test{
public function index(){
return "这是blog。php文件下的index方法";
}
}
主文件index.php下调用这两个类
<?php
require 'test/blog.php';
require 'test/web.php';
$res=new Test();
$reu=$res->index()
echo $reu;
向浏览器输出将报错。因为类名重复了 这时就需要自定义命名空间 命名空间根据自身需要选取,没有特定的规则限制
<?php
namespace Test\haha;自定义命名空间。
?>
主文件下的调用
use \Test\haha as ab; 引入命名空间 并取别名
$res=new ab\Test();
$reu=$res->index();
echo $reu;
?>
命名空间的使用到此结束
?>
PHP命名空间的概念与使用的更多相关文章
- python学习第三十六天命名空间的概念
python命名空间也叫名字空间,也叫名称空间,任何编程语言都有命名空间,大体意思都一样,定义文件所在的目录,下面详细讲述命名空间几种情况 1,locals: 是函数内的名称空间,包括局部变量和形参 ...
- C++中的命名空间
一,命名空间(namespace)的基本概念以及由来 1.什么是标识符: 在C++中,标识符可以是基本的变量,类,对象,结构体,函数,枚举,宏等. 2.什么是命名空间: 所谓的命名空间是指标识符的可见 ...
- thinkphp 命名空间
什么是命名空间?从广义上来说,命名空间是一种封装事物的方法.在很多地方都可以见到这种抽象概念.例如,在操作系统中目录用来将相关文件分组,对于目录中的文件来说,它就扮演了命名空间的角色.具体举个例子,文 ...
- 前端学PHP之命名空间
× 目录 [1]定义 [2]多命名空间 [3]名称解析[4]访问内部元素[5]全局空间[6]别名和导入 前面的话 从广义上来说,命名空间是一种封装事物的方法.在很多地方都可以见到这种抽象概念.例如,在 ...
- php命名空间
命名空间概述 (PHP 5 >= 5.3.0, PHP 7) 什么是命名空间?从广义上来说,命名空间是一种封装事物的方法.在很多地方都可以见到这种抽象概念.例如,在操作系统中目录用来将相关文件分 ...
- PHP命名空间入门教程
PHP5.3当中就引入了“命名空间”的概念,一直都没怎么关注和使用,其实学习它也挺简单的,看官方的教程就行了: 命名空间概述 定义命名空间 定义子命名空间 在同一个文件中定义多个命名空间 使用命名空间 ...
- 命名空间 - PHP笔记
转: 概述 命名空间是一种封装事物的方法.在很多地方都可以见到这种抽象概念,比如在操作系统中,目录用来将相关文件分组,对于目录中的文件来说,目录就扮演了命名空间的角色.这个原理应用到程序设计领域就是命 ...
- PHP 命名空间总结
PHP 5.3 及以上版本中引入了命名空间 的概念. notes: 1. 在 PHP 中,命名空间用来解决在编写 类库 或 应用程序 时创建 可重用 的 代码如 类 或 函数 时碰到的两类问题: ① ...
- PHP 设计模式 笔记与总结(1)命名空间 与 类的自动载入
① PHP 面向对象高级特性 ② 11 种 PHP 设计模式 ③ PSR-0,Composer,Phar 等最流行的技术 目标是掌握 PHP 各类设计模式,以及具备设计纯面向对象框架和系统的能力 [命 ...
随机推荐
- 推荐系统中的Graph Model
转自:http://www.cnblogs.com/wentingtu/archive/2012/05/28/2521166.html 推荐中对graph model的研究主要有两个方面,一个是如何构 ...
- 使用Eclipse开发及测试Spark的环境搭建及简单测试
一.下载专门开发的Scala的Eclipse 1.下载地址:http://scala-ide.org/download/sdk.html,或链接:http://pan.baidu.com/s/1hre ...
- redhat6.4下安装Oracle11g
一.在Root用户下执行以下步骤: 1)修改用户的SHELL的限制,修改/etc/security/limits.conf文件 * soft nproc 2047 ...
- Swiper.js使用遇到的问题总结onSlideChangeEnd回调偶尔触发,偶尔不触发等;
Swiper 是一个开源免费的移动触摸插件. 在使用中遇到这样一个问题,记录一下. page 间切换效果 使用 fade 的时候,如果每个页面的大小不一样, 比如第一个页面全屏, 第二个页面比第一个小 ...
- Web前端常用快捷键总结(OS X系统)
OS X系统截图:command + shift + 4 强制关闭OS X系统内无响应的程序:command + option +ESC Sublime Text 3: 显示或隐藏Side Bar:c ...
- TypeScript教程2
在TS中,我们允许开发人员使用面向对象技术. 1.类让我们看看一个简单的基于类的例子: class Greeter { greeting: string; constructor(message: s ...
- 技巧收集-W1701
2017.02 For Flask, to use the decorator, apply it as innermost decorator to a view function. When ap ...
- Yii框架中的form表单
<?php//引入命名空间use yii\helpers\Html;?><?php //表单:Html::beginForm(提交地址,提交方法,属性数组);?><?=H ...
- Git合并分支命令:git merge --ff
今天研究了一下git merge命令常用参数,并分别用简单的例子实验了一下,整理如下: 输入git merge -h可以查看相关参数: --ff 快速合并,这个是默认的参数.如果合并过程出现冲突,G ...
- JAVA日常练习—程序输入string转化为int并求和
实验结果如图: