在层次结构目录结构中使用PHP命名空间错误

时间:2013-08-27 07:11:41

标签: php namespaces

我正在使用文件夹结构,如下所示:

classes
    -common.php
    -core.php
modules
    -index/index.php

我正在尝试在index.php文件中使用common.php而我遇到错误:

  

致命错误:班级\普通'找不到   第7行的D:\ xampp \ htdocs \ devmyproject \ modules \ index \ index.php

我的代码:

commom.php类:

**Directory:/root/classes/common.php**
<?php
namespace classes;

class Common
{

    function __construct()
    {

    }
}

我的 index.php 文件尝试使用classes / commom.php

**Directory:/root/modules/index/index.php**
<?php
namespace modules\beneficiary;
use \classes as hp; 
include_once 'config.php';
$common = new \classes\Common();
//To Get Page Labels
$labels = $common->getPageLabels('1');

我在config.php中包含了common.php

$iterator = new DirectoryIterator($classes);
foreach ($iterator as $file) {
    if ($file->isFile())
        include_once 'classes/' . $file;
}

我的尝试:

我使用文件夹结构时工作正常如下:

classes
    -common.php
    -core.php
modules
    -index.php

如果我在模块中使用另一个文件夹,会出错?我不确定使用命名空间时文件夹的层次结构可以帮助我吗?

1 个答案:

答案 0 :(得分:2)

你必须在 index.php include common.php (更好:使用其中一个亲戚include_once或{{1 }}或使用spl_autoload_register()设置自动加载器(或者,不推荐使用,编写__autoload()函数)。