Нихера не понял, какую дату какого фу отправить? Блин ну есть там типа класс, 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 напропалую вяжут статику в рантайме и пох им на все. Может зря не верю? Вопрос риторический.