CFilter
| Пакет | system.web.filters |
|---|---|
| Наследование | класс CFilter » CComponent |
| Реализует | IFilter |
| Подклассы | CAccessControlFilter, CHttpCacheFilter, CInlineFilter |
| С версии | 1.0 |
| Исходный код | framework/web/filters/CFilter.php |
CFilter — базовый класс для всех фильтров.
Фильтр может применяться до и после выполнения действия. Он может изменять контекст, в котором должно выполняться действие, или оформлять результат, генерируемый действием.
Переопределите preFilter(), чтобы указать логику фильтрации, которая должна быть применена перед действием, и postFilter() для логики фильтрации после действия.
Фильтр может применяться до и после выполнения действия. Он может изменять контекст, в котором должно выполняться действие, или оформлять результат, генерируемый действием.
Переопределите preFilter(), чтобы указать логику фильтрации, которая должна быть применена перед действием, и postFilter() для логики фильтрации после действия.
Публичные методы
| Метод | Описание | Определено в |
|---|---|---|
| __call() | Вызывает именованный метод, который не является методом класса. | CComponent |
| __get() | Возвращает значение свойства, список обработчиков событий или поведение на основе его имени. | CComponent |
| __isset() | Проверяет, является ли значение свойства null. | CComponent |
| __set() | Устанавливает значение свойства компонента. | CComponent |
| __unset() | Устанавливает свойство компонента в null. | CComponent |
| asa() | Возвращает объект именованного поведения. | CComponent |
| attachBehavior() | Присоединяет поведение к данному компоненту. | CComponent |
| attachBehaviors() | Присоединяет список поведений к компоненту. | CComponent |
| attachEventHandler() | Присоединяет обработчик событий к событию. | CComponent |
| canGetProperty() | Определяет, можно ли прочитать свойство. | CComponent |
| canSetProperty() | Определяет, можно ли установить свойство. | CComponent |
| detachBehavior() | Отсоединяет поведение от компонента. | CComponent |
| detachBehaviors() | Отсоединяет все поведения от компонента. | CComponent |
| detachEventHandler() | Отсоединяет существующий обработчик событий. | CComponent |
| disableBehavior() | Отключает присоединённое поведение. | CComponent |
| disableBehaviors() | Отключает все присоединённые поведения к данному компоненту. | CComponent |
| enableBehavior() | Включает присоединённое поведение. | CComponent |
| enableBehaviors() | Включает все присоединённые к данному компоненту поведения. | CComponent |
| evaluateExpression() | Вычисляет PHP-выражение или обратный вызов в контексте этого компонента. | CComponent |
| filter() | Выполняет фильтрацию. | CFilter |
| getEventHandlers() | Возвращает список присоединённых обработчиков событий для события. | CComponent |
| hasEvent() | Определяет, определено ли событие. | CComponent |
| hasEventHandler() | Проверяет, есть ли присоединённые обработчики для именованного события. | CComponent |
| hasProperty() | Определяет, определено ли свойство. | CComponent |
| init() | Инициализирует фильтр. | CFilter |
| raiseEvent() | Вызывает событие. | CComponent |
Защищённые методы
| Метод | Описание | Определено в |
|---|---|---|
| postFilter() | Выполняет фильтрацию после действия. | CFilter |
| preFilter() | Выполняет фильтрацию перед действием. | CFilter |
Подробное описание методов
filter() метод
public void filter(CFilterChain $filterChain) | ||
| $filterChain | CFilterChain | цепочка фильтров, на которой находится фильтр. |
Исходный код: framework/web/filters/CFilter.php#36 (показать)
public function filter($filterChain)
{
if($this->preFilter($filterChain))
{
$filterChain->run();
$this->postFilter($filterChain);
}
}
Выполняет фильтрацию. По умолчанию вызываются preFilter и postFilter, которые предназначены для переопределения в дочерних классах. Если дочерний класс должен переопределить этот метод, убедитесь, что он вызывает $filterChain->run() если действие должно быть выполнено.
init() метод (доступен с версии v1.1.4)
public void init() |
Инициализирует фильтр. Этот метод вызывается после инициализации свойств фильтра и перед вызовом preFilter. Вы можете переопределить этот метод, чтобы включить некоторую логику инициализации.
postFilter() метод
protected void postFilter(CFilterChain $filterChain) | ||
| $filterChain | CFilterChain | цепочка фильтров, на которой находится фильтр. |
Исходный код: framework/web/filters/CFilter.php#71 (показать)
protected function postFilter($filterChain)
{
}
Выполняет фильтрацию после действия.
preFilter() метод
protected boolean preFilter(CFilterChain $filterChain) | ||
| $filterChain | CFilterChain | цепочка фильтров, на которой находится фильтр. |
| {return} | boolean | указывает, должна ли фильтрация продолжаться и действие должно быть выполнено. |
Исходный код: framework/web/filters/CFilter.php#62 (показать)
protected function preFilter($filterChain)
{
return true;
}
Выполняет фильтрацию перед действием.
© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc/api/1.1/CFilter