【发布时间】:2014-09-19 13:58:06
【问题描述】:
我对 OOP PHP 很陌生,所以我正在努力学习。
我有一个名为“Awesome_Car”的类,我是这样定义的
class Awesome_Car {
public $attributes;
public $name;
function __construct($name, $atts) {
$this->name = $name;
$this->attributes = $atts;
}
} // end of class
我在代码的某处实例化这个类 x 次:
$car1 = new Awesome_Car('ford', array( 'color'=>'blue', 'seats' => 6 ));
$car2 = new Awesome_Car('bmw', array( 'color'=>'green', 'seats' => 5 ));
现在我想创建一个普通函数,允许我按名称获取 - 并操作 - 该类的特定实例。类似的东西
function get_specific_car_instance($name) {
//some code that retrives a specific instance by name
//do stuff with instance
//return instance
}
我看到人们将每个实例作为对象数组存储在全局变量中,但我也读到全局变量被认为是不好的做法?而且我确实发现与它们一起工作也有点烦人。
有什么更好的方法来做到这一点?最好是 OOP 方法?
【问题讨论】:
-
什么名字?类的名称属性,或变量的名称(例如“ford”或“car1”?无论哪种方式,你正在尝试的似乎都是一个坏主意。请解释一下你为什么要这样做