ホームページ  >  記事  >  バックエンド開発  >  YII Framework フィルターの使用状況分析、yiifilter_PHP チュートリアル

YII Framework フィルターの使用状況分析、yiifilter_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-12 08:55:16872ブラウズ

YII Framework フィルターの使用分析、yiifilter

この記事では、YII Framework フィルターの使用方法を例とともに説明します。参考のために皆さんと共有してください。詳細は次のとおりです:

まず公式ドキュメントを読んで、フィルターとは何か、その機能、フィルタールール、フィルターの定義方法などを確認してください。

次に、フィルターの概要を説明します。

http://www.yiiframework.com/doc/guide/1.1/zh_cn/basics.controller

フィルターは、コントローラーのアクションの前または後に実行するように構成できるコードの一部です。たとえば、アクセス制御フィルターは、要求されたアクションを実行する前にユーザーが認証されていることを確認するために実行されます。パフォーマンス フィルターは、コントローラーの実行にかかる時間を測定するために使用できます。

アクションには複数のフィルターを含めることができます。フィルタは、フィルタ リストに表示される順序で実行されます。フィルターは、アクションや後続の他のフィルターの実行を防ぐことができます

フィルターはコントローラークラスのメソッドとして定義できます。メソッド名は filter で始まる必要があります。たとえば、既存の filterAccessControl メソッドは、accessControl という名前のフィルターを定義します。 フィルター メソッドは次の構造でなければなりません:

リーリー

$filterChain (フィルター チェーン) は CFilterChain のインスタンスであり、要求されたアクションに関連するフィルターのリストを表します。 filter メソッド内で $filterChain->run() を呼び出して、後続のフィルターとアクションの実行を続けることができます。

フィルターは、CFilter のインスタンスまたはそのサブクラスの 1 つであることもできます。次のコードは、新しいフィルター クラスを定義します:

リーリー

アクションにフィルターを適用するには、CController::filters() メソッドをオーバーライドする必要があります。このメソッドはフィルター構成の配列を返す必要があります。例:

リーリー

上記のコードは、postOnly と PerformanceFilter の 2 つのフィルターを指定しています。 postOnly フィルターはメソッドベースです (対応するフィルター メソッドは CController で定義されています)。一方、performanceFilter フィルターはオブジェクトベースです。パス エイリアス application.filters.PerformanceFilter は、フィルター クラス ファイルが protected/filters/PerformanceFilter であることを指定します。 PerformanceFilter を配列で構成して、フィルター オブジェクトのプロパティ値の初期化に使用できるようにします。ここでは、PerformanceFilter の単位プロパティ値が秒に初期化されます。

プラス記号とマイナス記号を使用して、どのアクションにフィルターを適用するか、または適用しないかを指定できます。上記のコードでは、postOnly は編集および作成アクションにのみ適用され、PerformanceFilter は編集および作成以外のアクションに適用される必要があります。 フィルター設定でプラス記号またはマイナス記号が使用されていない場合、このフィルターはすべてのアクションに適用されます。

フィルター機能:

訪問者とデータをフィルタリングし、アクセス操作を記録するために使用されます

使用方法:

1 つはコントローラーのメソッドとして使用されます。メソッド名は filter で始まります。

リーリー

2 番目に、反対側のフィルター クラスを定義し、require extends CFilter を要求します。

Cフィルター

リーリー

次の例は、2 つのフィルター ルールの使用法を示しています。

SiteController.php

リーリー

/www/yii_dev/testwebap/protected# ツリー

.
§── コマンド
│ §── シェル
│ §── TestCommand.php
│ └── TestCommand.php~
§── コンポーネント
│ §──Controller.php
│ └── UserIdentity.php
§── 設定
│ §── console.php
│ §── main.php
│ └── test.php
§── コントローラー
│ §──投稿
│ │ └─ UpdateAction.php
│ §── SiteController.php
│ §── TestTestController.php
│ └── UserController.php
§── フィルター
│ └── MyFilter.php
MyFilter.php
リーリー

http://www.localyii.com/testwebap/index.php?r=site/print

--->filterAccessControl--->印刷アクション

http://www.localyii.com/testwebap/index.php?r=site/create

--->MyFilter-->pre--->アクションの作成-->MyFilter-->post

リーリー

http://www.localyii.com/testwebap/index.php?r=site/print

--->filterAccessControl-->MyFilter-->pre--->印刷アクション-->MyFilter-->post

上記のフィルターの具体的な実行プロセスを確認できます。

フィルターには-、+

があります 具体的な機能は
+ は、これらのアクションにのみ作用することを意味します
- アクション名のリストが続きます。除外を示します。
- または + がない場合は、すべてのアクションが適用されます

さらに Yii 関連のコンテンツに興味のある読者は、このサイトの特別トピックをチェックしてください: 「Yii フレームワーク入門と一般的なテクニックの概要」、「優れた PHP 開発フレームワークの概要」、「Yii を始めるための基本チュートリアル」 Smartyテンプレート』、『PHP日時の使い方まとめ』、『phpオブジェクト指向プログラミング入門チュートリアル』、『php文字列(ストリング)の使い方まとめ』、『php+mysqlデータベース操作入門チュートリアル』、『php共通データベース操作』スキルまとめ』

この記事が、Yii フレームワークに基づいた PHP プログラムの設計に役立つことを願っています。

興味があるかもしれない記事:

  • PHP の Yii フレームワークにおけるキャッシュの高度な使用法についての紹介
  • PHP の Yii フレームワークにおけるキャッシュ機能の詳細な分析
  • PHP の Yii フレームワークにおけるビューの高度な使用法
  • PHP A Yii フレームワークの Model モデルに関する学習チュートリアル
  • PHP の Yii フレームワークの Controller コントローラーの詳細な説明
  • Yii データベース キャッシュ インスタンスの分析
  • Yii でフラグメント キャッシュを有効にする方法
  • PHP の属性インジェクションとコンポーネントの動作の詳細な説明Yiiフレームワークメソッドインジェクション
  • PHPのYiiフレームワークでのビヘイビアの使い方を詳しく解説
  • YIIフレームワークのリクエストとレスポンスの使い方を学習(CHttpRequestレスポンスに基づく)

www.bkjia.com本当http://www.bkjia.com/PHPjc/1117063.html技術記事 YII Framework フィルターの使用分析、yiifilter この記事では、YII Framework フィルターの使用方法を例とともに説明します。参考までに皆さんにもシェアしてください。詳細は以下の通りです。 まずは公式を見てみましょう...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。