php教程

超轻量级php框架startmvc

PHP命名空间简单用法示例

更新时间:2020-04-01 09:16:40 作者:startmvc
本文实例讲述了PHP命名空间简单用法。分享给大家供大家参考,具体如下:有三个文件,分

本文实例讲述了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 命名空间