国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

目次
PHPのYiiフレームワーク、yiiフレームワークにおける動作の定義とバインディング方法の説明
ホームページ バックエンド開発 PHPチュートリアル PHPのYiiフレームワークにおける動作の定義とバインド方法の説明、yii Framework_PHPチュートリアル

PHPのYiiフレームワークにおける動作の定義とバインド方法の説明、yii Framework_PHPチュートリアル

Jul 12, 2016 am 08:56 AM
php yii

PHPのYiiフレームワーク、yiiフレームワークにおける動作の定義とバインディング方法の説明

define Behavior

動作を定義するには、yiibaseBehavior またはそのサブクラスを継承してクラスを作成します。例:

リーリー

上記のコードは、動作クラス appcomponentsMyBehavior を定義し、動作がアタッチされるコンポーネントの 2 つのプロパティ prop1、prop2 とメソッド foo() を提供します。プロパティ prop2 は、ゲッター getProp2() およびセッター setProp2() を通じて定義されることに注意してください。 yiibaseObject は yiibaseBehavior の祖先クラスであるため、このように使用できます。この祖先クラスは getter メソッドと setter メソッドを使用したプロパティの定義をサポートしています

。

ヒント: ビヘイビア內では、yiibaseBehavior::owner プロパティを通じてビヘイビアがアタッチされているコンポーネントにアクセスできます。

靜的メソッドのバインディング動作

動作を靜的にバインドするには、yiibaseComponent::behaviors() をオーバーロードするだけです。 このメソッドは、クラスの動作を記述するために使用されます。それをどう説明すればいいでしょうか? 構成を使用して説明します。これは、Behavior クラス名または Behavior クラスの構成配列にすることができます:

リーリー

設定ファイルを介してバインドする靜的バインド方法もあります:

リーリー

動的メソッドバインディング動作

動作を動的にバインドするには、 yiibaseComponent::attachBehaviors():

を呼び出す必要があります。 リーリー

このメソッドは配列パラメーターを受け取り、パラメーターの意味は上記の靜的バインディング動作と同じです。

上記の例では、配列のキーが動作の名前として使用されており、キー名を提供しない動作の場合は匿名動作です。

名前付きビヘイビアーの場合、 yiibaseComponent::getBehavior() を呼び出してバインドされたビヘイビアーを取得できます:

リーリー

匿名のアクションの場合、それらを直接引用する方法はありません。ただし、すべてのバインドされた動作を取得できます:

リーリー

バインディングの內部原則

yiibaseComponent::behaviors() をオーバーロードするだけで、魔法のようにビヘイビアーを使用できるようになりますか? これは氷山の一角にすぎません。実際には、関連する側面は次のとおりです。 リーリー

動作は 4 つのメソッドのうちの 1 つだけを考慮しており、より多くのコードはコンポーネントで完成されます。

yiibaseComponent::behaviors() 靜的メソッドのバインド動作について説明したときに前述したように、動作を記述する配列を返します。 yiibaseComponent::ensuerBehaviors() はどうですか?

このメソッドは、コンポーネントの多くの場所で __get() __set() __isset() __unset() __call() canGetProperty() hasMethod() hasEventHandlers() on() off() などを呼び出します。頭痛?一言で言えば、この関數(shù)はクラスの屬性、メソッド、イベントに関係する限り呼び出されます。

非常に多くの定命の者たちに必要とされているensureBehaviors()の人々は誰ですか? その名の通り、彼の役割は「保障する」こと。実際、これは、behaviors() で記述された動作がバインドされていることを確認するためだけです:

リーリー

このメソッドは主にサブクラスに使用されます。yiibaseComponent には事前注入動作がないため、この呼び出しは役に立ちません。 ただし、サブクラスの場合は、 yiibaseComponent::behaviros() をオーバーロードして、一部の動作を事前に挿入することができます。 次に、この関數(shù)はこれらの動作を最初に挿入します。

上記のコードから、次に話したい 3 番目のこと、yiibaseComponentattachBehaviorInternal():

が自然にわかります。 リーリー

まず注意していただきたいのは、これはプライベートメンバーであるということです。実際、Yii では *Internal というサフィックスが付いたメソッドはすべてプライベートです。 このメソッドは次のことを行います:

$behavior パラメータが Behavior インスタンスではない場合は、それをパラメータとして使用し、Yii::createObject() を使用して作成します。

動作を匿名動作としてバインドする場合は、動作をこのクラスに直接アタッチします。
名前付きの動作の場合は、まず同じ名前の動作がこのクラスにバインドされているかどうかを確認します。存在する場合は、前の動作を後の動作に置き換えます。
yiibaseComponent::attachBehaviorInternal() では、$this をパラメータとして yiibaseBehavior::attach() が呼び出されます。 したがって、バインディングに関連する最後の要素である yiibaseBehavior::attach() が紹介されます。これは、以前に動作の要素について説明したときに話し終えなかったものです。まずはコードを見てみましょう:
リーリー

上記のコードは 2 つのことを行います:

    ビヘイビアーがアタッチされているオブジェクトにアクセスして操作できるように、ビヘイビアーの $owner を設定します
  • ビヘイビア內の events() によって返された配列をトラバースし、アタッチされたクラスの on() を通じて応答するイベントをクラスにバインドします

概要

ここまで述べてきましたが、バインディングについての概要は次のとおりです:

  • バインドされたアクションはコンポーネントから開始されます;
  • 靜的バインディングは yiibaseComponent::behaviors();
  • をオーバーロードすることで実裝されます
  • 動的バインディングは yiibaseComponent::attachBehaviors();
  • を呼び出すことで実現(xiàn)されます。
  • コンポーネントの設定項目として を設定することで動作をバインドすることもできます。
  • ビヘイビアは匿名ビヘイビアーと名前付きビヘイビアーに分けられ、その違いはバインディング時に名前が付けられるかどうかです。 命名動作は名前によって識別できるため、リリースなどの操作を的を絞った方法で実行できます。
  • バインド プロセス中に、後でバインドされた動作が、同じ名前の既にバインドされた動作を置き換えます。
  • バインディングには 2 つの意味があります。1 つは動作に $owner を設定することです。 2 つ目は、ビヘイビアーで応答するイベントのハンドラーをクラスにバインドすることです。
興味があるかもしれない記事:

PHPのYiiフレームワークでコンポーネントにバインドされたビヘイビアを削除する方法
  • PHPのYiiフレームワークでビヘイビアービヘイビアを使用する方法の詳細な説明
  • PHPのYiiフレームワークのプロパティ(Property)の詳細な説明
  • PHPのYiiフレームワークでデータベース設定とSQL操作を使用するチュートリアルの例
  • PHPのYiiフレームワークのイベントメカニズムの詳細な分析
  • PHPのYiiフレームワークのロギング関數(shù)の包括的な解釈
  • Yiiの使用 find の実裝方法findAllで指定したフィールドを探します
  • Yiiデータベースの追加、削除、変更を解析します
  • Yii PHP Framework実踐入門チュートリアル(詳細紹介)
  • PHPのYiiフレームワークにおけるコンポーネントの動作の屬性インジェクションとメソッドインジェクションについて詳しく解説します

http://www.bkjia.com/PHPjc/1111897.html

本當http://www.bkjia.com/PHPjc/1111897.html技術記事 PHP の Yii フレームワークにおけるビヘイビアの定義とバインディング メソッドの説明 Yii フレームワークでビヘイビアを定義するには、ビヘイビアを定義し、yiibaseBehavior またはそのサブクラスを継承してクラスを作成する必要があります。例: 名前空間 a...
このウェブサイトの聲明
この記事の內容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰屬します。このサイトは、それに相當する法的責任を負いません。盜作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undress AI Tool

Undress AI Tool

脫衣畫像を無料で

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード寫真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

寫真から衣服を削除するオンライン AI ツール。

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中國語版

SublimeText3 中國語版

中國語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統(tǒng)合開発環(huán)境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

PHPでのクロスサイトリクエスト偽造(CSRF)攻撃を防ぐにはどうすればよいですか? PHPでのクロスサイトリクエスト偽造(CSRF)攻撃を防ぐにはどうすればよいですか? Jun 28, 2025 am 02:25 AM

topreventcsrfattacksinphp、demifficanti-csrftokens.1)生成と測定と測定を繰り返し、orbin2hex(random_bytes(32))、savethemin $ _ session、andincludeTheminformsashdidnputs.2)

2つのPHPアレイを組み合わせる方法ユニークな値は? 2つのPHPアレイを組み合わせる方法ユニークな値は? Jul 02, 2025 pm 05:18 PM

2つのPHPアレイをマージし、一意の値を保持するには、2つの主要な方法があります。 1.インデックスアレイまたは重複排除のみの場合、array_mergeとarray_uniqueの組み合わせを使用します:最初のマージArray_merge($ array1、$ array2)を使用してから、array_unique()を使用して、最終的にすべての一意の値を含む新しいアレイを取得します。 2。関連アレイと最初の配列のキー値のペアを保持したい場合は、演算子を使用してください。$ result = $ array1 $ array2。これらの2つの方法は、キー名が保持されているか焦點があるかに応じて、異なるシナリオに適用できます。

PHP出口機能の使用方法は? PHP出口機能の使用方法は? Jul 03, 2025 am 02:15 AM

Exit()は、すぐにスクリプトの実行を終了するために使用されるPHPの関數(shù)です。一般的な用途には次のものが含まれます。1。ファイルが存在しない、または検証が失敗するなど、例外が検出されたときにスクリプトを事前に終了します。 2。デバッグ中の出力中間結果と実行を停止します。 3。Header()と組み合わせてリダイレクトした後、Exit()を呼び出して、後続のコード実行を防ぎます。さらに、exit()は、文字列パラメーターを出力コンテンツまたはステータスコードとして整數(shù)として受け入れることができ、そのエイリアスはdie()です。

HTMLで記事、セクション、および脇にセマンティック構造を適用する HTMLで記事、セクション、および脇にセマンティック構造を適用する Jul 05, 2025 am 02:03 AM

HTMLでのセマンティックタグの合理的な使用は、ページ構造の明確さ、アクセシビリティ、SEO効果を改善することができます。 1.ブログの投稿やコメントなどの獨立したコンテンツブロックに使用されると、自己完結型でなければなりません。 2。通常はタイトルを含む分類関連のコンテンツに使用され、ページのさまざまなモジュールに適しています。 3。サイドバーの推奨事項や著者プロファイルなど、メインコンテンツに関連する補助情報に使用されますが、コアではありません。実際の開発では、ラベルを組み合わせて、その他を組み合わせ、過度のネストを避け、構造をシンプルに保ち、開発者ツールを使用して構造の合理性を検証する必要があります。

PHPのセッションデータにアクセスするにはどうすればよいですか? PHPのセッションデータにアクセスするにはどうすればよいですか? Jun 30, 2025 am 01:33 AM

PHPのセッションデータにアクセスするには、最初にセッションを開始し、次に$ _Session HyperGlobal Arrayを介して動作する必要があります。 1。セッションはsession_start()を使用して開始する必要があり、出力の前に関數(shù)を呼び出す必要があります。 2。セッションデータにアクセスするときは、キーが存在するかどうかを確認します。 ISSET($ _ Session ['key'])またはarray_key_exists( 'key'、$ _ session)を使用できます。 3.セッション変數(shù)を設定または更新する必要は、手動で保存せずに$ _Sessionアレイに値を割り當てるだけです。 4. unset($ _ session ['key'])を使用した特定のデータをクリアし、すべてのデータをクリアし、空の配列に$ _sessionを設定します。

PHPの再帰機能とは何ですか? PHPの再帰機能とは何ですか? Jun 29, 2025 am 02:02 AM

再帰関數(shù)は、PHPのセルフコール関數(shù)を指します。コア要素は1です。終了條件(基本例)の定義、2。問題を分解し、再帰的に呼び出す(再帰的な例)。階層構造を扱う、重複したサブ問題の分解、または計算の要因、走査ディレクトリなどのコード読みやすさの改善に適しています。ただし、メモリ消費とスタックオーバーフローのリスクに注意を払う必要があります。書くときは、出口條件を明確にする必要があり、基本的な例に徐々にアプローチし、冗長パラメーターを避け、小さな入力をテストする必要があります。たとえば、ディレクトリをスキャンすると、関數(shù)はサブディレクトリに遭遇し、すべてのレベルが橫斷されるまで再帰的に呼び出します。

PHPで配列を作成する方法は? PHPで配列を作成する方法は? Jul 02, 2025 pm 05:01 PM

PHPで配列を作成するには、Array()関數(shù)を使用するか、ブラケットを使用する方法は2つあります。 1. Array()関數(shù)を使用することは、適切な互換性を備えた従來の方法です。 $ fruits = array( "apple"、 "banana"、 "orange")などのインデックス配列、および$ user = array( "name" => "john"、 "age" => 25)などの連想配列を定義します。 2。[]を使用することは、$ COLORなどのPHP5.4以降、より簡単なサポート方法です

要求された操作には、標高ウィンドウが必要です 要求された操作には、標高ウィンドウが必要です Jul 04, 2025 am 02:58 AM

「この操作は権限のエスカレーションが必要」というプロンプトに遭遇した場合、管理者の権限を継続する必要があることを意味します。ソリューションには以下が含まれます。1。「管理者として実行」プログラムを右クリックするか、ショートカットを設定して常に管理者として実行します。 2.現(xiàn)在のアカウントが管理者アカウントであるかどうかを確認してください。 3.管理者の権限を使用してコマンドプロンプトまたはPowerShellを開き、関連するコマンドを実行します。 4.ファイルの所有権を取得するか、必要に応じてレジストリを変更することにより制限をバイパスしますが、そのような操作は注意し、リスクを完全に理解する必要があります。許可の身元を確認し、上記の方法を試してみると、通常は問題を解決します。

See all articles