与PHP命名空间混淆

时间:2014-03-10 21:57:10

标签: php namespaces

我正在使用php来完成我的新项目。我觉得需要使用命名空间。

我已经阅读过很多关于它的文档,但实际上我很困惑。这是场景:

我已经定义了以下命名空间和类:

namespace urlNS;

class URL 
{
// content of the class
}

然后在另一个文件中,我想在同一个命名空间(urlNS)中定义一个类,并且还要扩展URL类(它是urlNS命名空间的一个子集),为此,我做了:

namespace urlNS:

class Inc extends urlNS\url
{
// content 
}

现在,我想要使用已定义的命名空间两次(甚至更多),我是否以正确的方式进行了操作?

1 个答案:

答案 0 :(得分:1)

基类定义:

<?php
namespace urlNS;

class URL {}

子类:

<?php
namespace urlNS;

class Inc extends URL {}

使用:

<?php
$url = new urlNS\URL();
$suburl = new urlNS\Inc();

或使用use关键字:

<?php
use urlNS\URL;

$url = URL();