我有一个类定义,如:
class JConfig {
var $offline = '0';
var $editor = 'tinymce';
var $list_limit = '20';
var $helpurl = 'http://help.joomla.org';
var $log_path = '/path/to/logs';
// ....
}
我想动态定义'$ log_path'
我试图在类声明之外定义一个常量但是没有运气
示例:
if(!defined('ROOT_PATH')){
define('ROOT_PATH', dirname(__FILE__));
}
class JConfig {
var $offline = '0';
var $editor = 'tinymce';
var $list_limit = '20';
var $helpurl = 'http://help.joomla.org';
var $log_path = ROOT_PATH . '/logs'; // This generates a error
// ....
}
但我不能这样做,有没有办法实现这个目标?
答案 0 :(得分:5)
您可以在课程constructor
中完成class JConfig {
var $offline = '0';
var $editor = 'tinymce';
var $list_limit = '20';
var $helpurl = 'http://help.joomla.org';
var $log_path;
public function __construct(){
$this->log_path = ROOT_PATH . '/logs';
}
}
答案 1 :(得分:1)
不,您不能在类属性默认值中使用常量或变量。我建议你只需在构造函数中设置它们......