我有一个具有多个公共属性的类,其对象正在系统的不同部分使用。问题是我只需要在使用类的对象的每个地方加载其中的一些公共属性,因为每次加载整个属性列表都需要很长时间。
有什么方法可以使用__autoload
或类似的函数来调用在调用时加载不同变量的函数?
例如
class Bread {
public
$Ingredients,
$Price,
$Color;
public function magicLoading($var) {
switch($var) {
case "Ingredients" : return loadIngredients();
case "Price" : return loadPrice();
case "Color" : return loadColor();
default : break;
}
}
public function loadIngredients() {
$this->Ingredients = ...
}
}
foreach($Bread->Ingredients as $Ingredient) {
//do stuff here
}