PHP的namespace与Python包管理对比

PHP5.3引入了命名空间namespace机制,使PHP之前一直被人诟病的包管理机制得到了很大改善。不过这个机制可不怎么好用,比较落后,类似于C++。跟Python的包管理机制相比差太多了。

a.php
<?php
namespace a;
class a{}
?>
b.php
<?php
namespace a\b;
class b{}
?>
c.php 
<?php
include 'a.php';
include 'b.php';
use a as a_;
use a\b as b_;
$a = new a_\a;
$b = new b_\b;

Python不需要声明namespace,自动使用目录名称,文件名称作为namespace。而且只需要一条语句即可完成载入文件,use空间,别名。

import a
from a.b import *
o1 = a.a()
o2 = b()