Коллеги, может быть кто знает другие более красивые способы?- через рефлекшен! Если же у Вас есть возможность изменить область видимости, то тогда не стоит его использовать. Если такой возможности нет, то вот Вам паттерн:
Method method = PersonDate.class.getDeclaredMethod("getYear", Int.class);
method.setAccessible(true);
method.invoke(targetObject, argObjects);
class Model extends ActiveRecord {
public static function find() {
return new MyQuery(get_called_class());
}
}
class MyQuery extends ActiveQuery {
public function withFullUrl($url) {
$this->andWhere(['full_url' => $url]);
return $this;
}
}