[英]Is it possible to define a class property dynamically in php?
我有一个类似的类定义:
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
// ....
}
但是我不能这样做,有没有办法做到这一点?
您可以在类构造函数中完成此操作
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';
}
}
不,您不能在类属性默认值中使用常量或变量。 我建议您只在构造函数中设置它们。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.