Показать сообщение отдельно
  #12 (permalink)  
Старый 26.05.2015, 19:45
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

Нихера не понял, какую дату какого фу отправить? Блин ну есть там типа класс, Foo, он лежит в файле, этот файл может быть загружен определенной страницей где он мастхав, а может быть не загружен, но понадобится. Я и проверяю - если понадобился на странице которая и так его загрузила - то и загружен, а иначе - прошу выдать и делаю Foo. Четам думать-то?

Без асинхронных шмаяксов схема вот такая

private $_d=array(); // недоступная проперть

/*
типа геттера, чтоб понятно было в куче все

*/

protected function get_foo(){
    if(!isset($this->_d['foo']))
        $this->_d['foo'] = load('foo'); // or new Foo();
    return $this->_d['foo'];
}


Все, "закешировали", то есть забили в переменную объект и больше ее имя не будет говорить что такой переменной нету.

Естественно любое обращение к этой переменной пойдет через геттер. Ну и х с ним, так все и кешируется, иначе как.

Зато если никому она не понадобилась - то ее и нет вообще. Есть свои минусы в этом - надо четко понимать что все загружается по запросам, как попало и никакой очередности вообще нет и могут быть коллизии.

Я в статику не верю и вообще считаю ее порочной, поэтому обхожусь такими технологиями.

Кстати в новом YII напропалую вяжут статику в рантайме и пох им на все. Может зря не верю? Вопрос риторический.

Последний раз редактировалось kostyanet, 26.05.2015 в 19:51.
Ответить с цитированием