namespace命名空间学习

本文介绍了PHP中的命名空间namespace,其作用是防止类名或函数名重复,类似Java或Python的包概念。通过namespace关键字定义,配合自动加载实现功能。详细讲解了namespace的定义、书写规范、访问方式以及与__NAMESPACE__常量的关系。总结了命名空间的主要用途和访问策略。
摘要由CSDN通过智能技术生成
1. namespace是什么?

命名空间是namespace是翻译,作用是防止类名或函数名重复,命名重复会导致报错。以前没有命名空间的时候只能人为去防止重复,但项目上了一定规模难以避免这个问题,因此,在php5.3版本推出了namespace。

2. namespace的简单使用

使用比较简单,下面举个例子
1. 先是不用namespace的方式
Foo.php

<?php
class Test {
   
	public static function index(){
   
		echo 'hello world 1';
	}
}

Fee.php

<?php
class Test{
   
	public static function index(){
   
		echo 'hello world 2';
	}
}

然后在index.php分别require这两个文件

<?php
require './Foo.php';
require './Fee.php';
Test::index();
Test::index();

由于foo.php和fee.php里的类名和方法名都一样,所以在index.php里系统就无法区分到底是调用的那个类,这时运行就会报错

PHP Fatal error:  Cannot declare class Test, because the name is already in use in C:\Users\53101\Desktop\study\php\namespace_study\Foo.php on line 3

2. 下面是加入namespace后的样子
Foo.php

<?php
namespace Foo;
class Test {
   
	public static function index(){
   
		echo 'hello world 1';
	
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值