Ваше определение класса должно определять свойства объекта, а не значения.Он должен определяться статически, а не динамически во время выполнения.Во время выполнения вы создаете экземпляры этого класса и заполняете данные для каждого экземпляра.
Попробуйте что-то вроде этого:
class Food {
var $name;
var $temp;
var $texture;
// Constructor
public function food($name, $temp, $texture) {
$this->name = $name;
$this->temp = $temp;
$this->texture = $texture;
}
public function breaksDentures() {
if($this->temp >= 15) && ($this->texture === 'hard')
return true;
else
return false;
}
}
И используйте его так:
function processFoods($daterange) {
$query = build_query_from_daterange($daterange);
$result = mysql_query($query);
while($row = mysql_fetch_assoc($result)) {
$food = new Food($row['name'], $row['temp'], $row['texture']);
// Now $food is an instance of the Food class populate with the values
// from the db, e.g., 'ice cream', 0, 'hard'.
if $food->breaksDentures() {
print("Don't eat it");
}
}
}
PS Вы можете освежить свои объектно-ориентированные концепции.Ваш вопрос хороший, но указывает на некоторую путаницу в основах ОО.