создаю экземпляр в самом начале страницы $db = new database();
этот объект накапливает в себе некоторые данные, например кол-во запросов, время запросов и прочее.
так вот, как быть, если я хочу использовать его в каком-то классе без потери содержимого.
Говоря образно, как заставить объект "путешествовать" по всему документу(классам и.т.д, не теряя накопленного содержимого?
Спустя 27 минут (26.11.2010 - 16:11) twin написал(а):
Спустя 1 час, 15 минут, 18 секунд (26.11.2010 - 17:26) Guest написал(а):
twin
спасибо, почитал, но по-моему это не тот ответ на мой вопрос.
мне не нужно предотвращать, повторное создание объекта, мне нужно объект уже содержащий данные использовать в других классах, как если бы сделать так
но насколько такой вариант приемлем?
спасибо, почитал, но по-моему это не тот ответ на мой вопрос.
мне не нужно предотвращать, повторное создание объекта, мне нужно объект уже содержащий данные использовать в других классах, как если бы сделать так
class
{
function __constructor
{
$this->db = &$GLOBALS['db'];
}
}
но насколько такой вариант приемлем?
Спустя 14 минут, 8 секунд (26.11.2010 - 17:40) Basili4 написал(а):
Guest
создавай ситнглтон и не разрушай его делай методы на запись set и методы на чтение get
и храни все что тебе надо в объекте.
создавай ситнглтон и не разрушай его делай методы на запись set и методы на чтение get
и храни все что тебе надо в объекте.
Спустя 8 минут, 45 секунд (26.11.2010 - 17:49) Guest написал(а):
Basili4
ну вот создал я синглтон (естесственно добавил все что нужно в сам класс)))
$db = mysql_database::getInstance();
далее где-то делается запрос
$db->query("SELECT......");
после этого запроса в $db попадает информация, что был сделан 1 запрос
как же теперь этот экземпляр $db использовать в другом классе
ну вот создал я синглтон (естесственно добавил все что нужно в сам класс)))
$db = mysql_database::getInstance();
далее где-то делается запрос
$db->query("SELECT......");
после этого запроса в $db попадает информация, что был сделан 1 запрос
как же теперь этот экземпляр $db использовать в другом классе
class
{
function __constructor
{
$this->db = ???????
echo $this->query_count;
}
}
Спустя 3 минуты, 21 секунда (26.11.2010 - 17:52) Basili4 написал(а):
$db->getinfo(); // ляля таполя
$db->getreult(); // Создавай методы которые будут тебе возвращать необходимую инфу.
я не пойму в чем же проблема то.
$db->getreult(); // Создавай методы которые будут тебе возвращать необходимую инфу.
я не пойму в чем же проблема то.
Спустя 4 минуты, 8 секунд (26.11.2010 - 17:56) Guest написал(а):
Basili4
проблема в том, что класс class не знает такой переменной $db. и соответственно $db->getinfo() - для него как плевок в океан.
я там выше спросил
проблема в том, что класс class не знает такой переменной $db. и соответственно $db->getinfo() - для него как плевок в океан.
я там выше спросил
$this->db = &$GLOBALS['db'];- такой способ насколько подходит?
Спустя 6 минут, 19 секунд (26.11.2010 - 18:03) Basili4 написал(а):
Guest
Глобальные переменные это плохо очень плохо.
Глобальные переменные это плохо очень плохо.
Спустя 9 минут, 19 секунд (26.11.2010 - 18:12) Guest написал(а):
кажется врубился
он ведь вернет то что нужно?
Basili4
все время об этом слышу,а чем они именно плохи,
$this->db = mysql_database::getInstance();
он ведь вернет то что нужно?
Basili4
все время об этом слышу,а чем они именно плохи,
Спустя 1 минута, 23 секунды (26.11.2010 - 18:13) twin написал(а):
Guest
Цитата |
проблема в том, что класс class не знает такой переменной $db. и соответственно $db->getinfo() - для него как плевок в океан. |
Ты просто не вник. Вот это
$db = mysql_database::getInstance();при повторном использовании не создает новый, а возвращает старый, единственный объект. Соответственно
class
{
function __constructor
{
$this->db = mysql_database::getInstance();
echo $this->query_count;
}
}
Спустя 1 минута, 8 секунд (26.11.2010 - 18:14) twin написал(а):
Уже сам допер))) Респект.
Спустя 1 минута, 51 секунда (26.11.2010 - 18:16) Guest написал(а):
twin
спасибо большое, давно надо было про синглтон прочитать. Про фабрик тоже прочитал, жду продолжения))))
спасибо большое, давно надо было про синглтон прочитать. Про фабрик тоже прочитал, жду продолжения))))