我有一个PHP脚本,旨在用户可编辑,一些选项设置在一开始,包括允许的图像文件扩展名。PHP:有没有办法在对象构造函数中使用全局变量?
稍后,我想在对象构造函数中使用它来设置文件是否为图像。
$extensions = ["jpg", "jpeg", "gif", "png"];
class directory_entry {
function __construct($name) {
$this->name = $name;
$extension = pathinfo($name, PATHINFO_EXTENSION);
$this->is_image = in_array(strtoupper($extension), $extensions); // throws an error
$this->image = $this->is_image($name);
}
}
这不起作用,因为我无法在类(?)内部调用$extensions
。没有包含$extensions
这个类的每个对象的方法吗?似乎螺母
$files[] = new directory_entry($value, $extensions);
申报对象,并有这个类的每个实例具有相同的数组的副本?
http://php.net/manual/en/language.variables.scope.php – aynber
你不一定必须注入'$ extensions'变量本身,但是你可以注入一个像' SettingsProvider'或其他什么可以c保持它,并为您的应用程序的许多其他常见设置 –
@aynber是的!这就是我需要的。 –