以下是我的代码的一部分
define('DIR_APP', 'app/');
class Questions
{
const QUESTIONS_FILE = DIR_APP . 'questions.xml';
}
似乎当我将define()
'd常量从我的类常量声明中取出时,它运行正常。但是当我添加它时会抛出这个错误:
Parse error: syntax error, unexpected '.', expecting ',' or ';' in /home/public_html/app/classes/Questions.class.php on line 7
那么如何让define()
'd在那里保持不变?我认为它没有正确地查找DIR_APP
,认为它可能已在类中定义。如何让它在全球范围内解决?
谢谢
答案 0 :(得分:4)
无法完成。
引自http://www.php.net/manual/en/language.oop5.constants.php:
“该值必须是常量 表达,而不是(例如)a 变量,类成员,结果 数学运算或函数 称之为“
我想你可以
define('QUESTIONS_FILE',DIR_APP。 'questions.xml');
但这是全球性的。
答案 1 :(得分:0)
之前从未尝试过。 Zend Studio现在给我一个问题,让我自己看一下。虽然尝试这个怎么样......
const QUESTIONS_FILE = constant("DIR_APP") . 'questions.xml';