PHP命名空间

命名空间是一种封装事物的方法,用以避免用户编写的代码与 PHP内部的类/函数/常量或第三方类/函数/常量 之间的名字冲突。

在PHP支持命名空间之前,为了避免冲突,程序员只能为函数加上一些前缀作为标示,这样不仅写起来麻烦,也降低了代码的可读性。命名空间为此类问题提供一个不错的解决方案,使用命名空间使开发者不必再为函数取一些长而难看的名字。

<?php
  namespace my\name; 
  class MyClass {
    //code
  }
  new \my\name\MyClass(); // 也可以直接 new MyClass()
?>
  • 注意 , namespace 之前除declare ,不能有任何代码 (包括html代码)。

可以使用use关键字导入命名空间中的类并设置别名。如,

<?php
	namespace foo;                     
	require 'another.php';
	use My\Full\Classname as Another; 
                            
	$another = new Another();
	$another->sayHi();
?>

PHP 在 5.3.0 以后的版本开始支持命名空间。

Show Comments