Archive for Октябрь 2008

По ком звонит __call-окол

К сожалению, сегодня у меня в коде довольно много строк вида

public function load($guid) {
	return $this->loadAndExec('load_user', array('guid' => $guid), false);
}

Раньше, конечно, всё было ещё страшнее, но мой хороший и старый друг Денис Озеров, который работает сейчас в Крабице, натолкнул меня на мысль о том, что это тоже можно изменить.

В php у каждого класса существует возможность перехватывать обращения к несуществующим методам класса и обрабатывать их так, как вздумается. Для этого достаточно определить в классе метод __call(), в который передаются два аргумента — имя вызываемого метода и массив аргументов.

Таким образом, если мы научимся по имени метода строить имя запроса, передавая ему массив аргументов, то всю работу с базой данных в Natea можно сократить до метода __call, лишь изредка по необходимости описывая нетривиальные алгоритмы работы с данными.

Начинаю готовить Natea к релизу

Собственно, завёл сайт проекта. Исходники пока не видно, их надо причесать и документировать.

Но процесс пошёл, что не может не радовать.