Мне нужно вызвать функцию, расположенную в классе, хранящемся в каталоге app/lib, перед каждым действием (т.е. в действии preExecute)
В этой функции мне нужен указатель $this из действия.
Я могу сделать это статически - Classname::functionname(), однако это приводит к предупреждению PHP, которого я хочу избежать.
Пока я справляюсь с этим
ini_set('display_errors', '0'); # don't show any errors...
error_reporting(E_ALL | E_STRICT); # ...but do log them
но это некрасивый способ..
Как я могу сделать это динамически?
===============
РЕДАКТИРОВАТЬ:
по запросу - я добавляю код, чтобы показать, что я на самом деле делаю с этим указателем $this
...
$c = new Criteria();
$c->add(ArticlePeer::PUBLISHED, true);
$articles = ArticlePeer::doSelect($c);
$this->articles = $articles;
...
Да, я знаю, что могу поместить этот Select в действие preExecute в каждом модуле, и он будет работать нормально. Однако - у меня много модулей, и поскольку у меня есть набор действий, которые одинаковы для всех этих модулей, поэтому поместить их в одну процедуру и просто вызвать эту функцию было бы самым разумным способом... Особенно, когда речь идет о поддержке приложение - Это всего лишь одно место для изменения кода, а не дюжина...
$obj = new Classname(); $obj->functionname();- person Fabian Schmengler   schedule 22.02.2013$thisвнутри этого действия? - person j0k   schedule 22.02.2013$this. Я пробовал подход, предложенный @fab, до того, как разместил здесь свой вопрос - не удалось присвоить$articles$this->articles. Вот почему я сделал акцент на том, что мне нужно иметь доступ к этому указателю в моей процедуре. - person khartvin   schedule 22.02.2013