PHP名称空间常量未定义

时间:2013-06-16 21:24:18

标签: php namespaces constants

我是PHP的新手,我正在尝试对命名空间中的一些代码进行单元测试。不幸的是,配置文件中的常量定义给了我一些问题。这是相关的代码。

目录结构是:

APITest
config.php
-/logging
-/test/logging

config.php的代码:

<?php
namespace APITest;
define('BASE_DIR', pathinfo(__FILE__, PATHINFO_DIRNAME));

APITest / test / logging / TestLogItem的代码:

namespace APITest\test\logging;
require_once( BASE_DIR . '/logging/LogItem.php');   
class TestLogItem extends PHPUnit_Framework_TestCase {

public function testLogItemCreationSuccess(){
    code
}

public function testLogItemCreationException(){
    code
}

public function testGetLogEntry(){
    code
}

错误信息是: PHP Notice: Use of undefined constant BASE_DIR - assumed 'BASE_DIR' in /var/test/APITest/test/logging/TestLogItem.php on line 6 PHP Warning: require_once(BASE_DIR/logging/LogItem.php): failed to open stream: No such file or directory in /var/test/APITest/test/logging/TestLogItem.php on line 6 PHP Fatal error: require_once(): Failed opening required 'BASE_DIR/logging/LogItem.php' (include_path='.:/usr/share/php:/usr/share/pear') in /var/test/APITest/test/logging/TestLogItem.php on line 6

1 个答案:

答案 0 :(得分:0)

您需要在文件中加入config.php

看起来你没有把文件包含在任何地方,所以就PHP来说,没有定义常量。