PHP命名空间简单用法示例

时间:2022-08-23 23:10:10

本文实例讲述了PHP命名空间简单用法。分享给大家供大家参考,具体如下:

有三个文件,分别是space1.php,space2.php,use.php吧,在同一目录里。

space1.php:

<?php
namespace MyNamespace\Factory;
class Employees{
  private $name;
  function __construct($nameStr){
    $this->name = $nameStr;
  }
  function getName(){
    return 'Factory : '.$this->name;
  }
}

space2.php:

<?php
namespace MyNamespace\Company;
class Employees{
  private $name;
  function __construct($nameStr){
    $this->name = $nameStr;
  }
  function getName(){
    return 'Company : '.$this->name;
  }
}

use.php:

<?php
//我们都知道同一目录下,不能存放相同名字的同类文件。那么可以把同名文件存放在不同目录里。
//全名空间跟上面的意思类似。
//假如有两个PHP文件,文件里都有一个Employees类。在同一个文件里创建两个Employees对象,肯定是不行的,此时就可以用上命名空间。
$DIR = dirname(__FILE__);
include($DIR.'/space1.php');
include($DIR.'/space2.php');
$obj = new MyNamespace\Factory\Employees('a');
$myName = $obj->getName();
echo "<p>$myName</p>";
$obj = new MyNamespace\Company\Employees('a');
$myName = $obj->getName();
echo "<p>$myName</p>";

运行结果:

Factory : a

Company : a

希望本文所述对大家PHP程序设计有所帮助。