У меня есть флэш-приложение, которое использует один php-файл для извлечения записей из базы данных (используя Zend Framework). Когда приложение только начинается, я вызываю php, чтобы установить переменную класса, чтобы все будущие запросы к базе данных использовали эту переменную для выбора записей на основе ее значения. Итак, вот как начинается класс:
class MyClass
{
private $animal = "";
public function setAnimal($anim) {
$this->animal = $anim;
echo($this->animal); //this correctly prints the variable I passed in
}
Позже, основываясь на пользовательском вводе, я вызываю другой метод в этом классе, но это как если бы переменная класса $ animal была забыта, потому что она больше не имеет значения при любом последующем доступе к классу:
public function getAnimals()
{
echo('getAnimals: ');
echo($this->animal); //this prints nothing - as if it doesn't know what "animal" is
$result = mysql_query("SELECT * FROM animals WHERE animal='$this->animal'"); //and therefore this query doesn't work
$t = array();
while($row = mysql_fetch_assoc($result))
{
array_push($t, $row);
}
return $t;
}
Итак, мой вопрос: как я могу сохранить переменную класса PHP, чтобы я мог установить ее один раз и получить к ней доступ в любое время в течение жизни приложения?