ホームページ バックエンド開発 PHPチュートリアル ThinkPHP3.1でのウィジェットの使用について

ThinkPHP3.1でのウィジェットの使用について

Jun 19, 2018 pm 04:12 PM

この記事では主に ThinkPHP3.1 でのウィジェットの新しい使い方を紹介します。必要な方は参考にしてください。

ThinkPHP3.0 バージョンのウィジェットのアクションとビューのサポートは比較的不十分であり、基本的なテンプレートのレンダリング出力。バージョン 3.1 のリリースによってもたらされたマルチレイヤー MVC 機能は、ウィジェットの実装方法に新しいアイデアをもたらしました。その実装方法を見てみましょう。

ThinkPHP3.1 ではマルチレイヤー MVC のサポートが追加されているため、バージョン 3.1 ではマルチレイヤー コントローラー機能をサポートできるため、コントローラー レイヤーに別のレイヤーであるウィジェット レイヤーを追加できます。

まず、プロジェクトの Lib ディレクトリの下に Widget ディレクトリを作成し、次のように TestWidget クラス (Lib/Widget/TestWidget.class.php) を作成します。

##TestWidget と以前のものの違いは、Widget クラスを継承せず、Action クラスを直接継承することです。これは、Action メソッドを TestWidget で直接呼び出すことができることを意味します。テンプレートのレンダリング出力。

定義が完了したら、このウィジェットをどのように呼び出すのでしょうか? W メソッドは絶対に機能しません。今回は R メソッドが必要です。

R メソッドの機能はモジュールの操作をリモートで呼び出すことですが、3.1 ではそれに新しい役割が与えられ、すべてのコントローラー層の操作メソッドの呼び出しをサポートできるようになりました。そのため、次のようにテンプレート内で Widget を呼び出すことができます。これ:

class TestWidget extends Action{
  public function hello($name=''){
    echo ("hello,".$name."!");
  }
 }
ログイン後にコピー

#ページの特定の領域で出力を実現できます:

#
{:R('Test/hello',array('ThinkPHP'),'Widget')}
ログイン後にコピー

アクション コントロールに加えて、コントローラーの外部にある他のコントローラー層には URL 経由で直接アクセスできないため、この Widget メソッドは R メソッドを通じてのみ内部的に呼び出すことができます。

TestWidget クラスで Model を呼び出して他のデータを出力できます。独自のテンプレートをレンダリングする必要がある場合は、表示メソッドを直接呼び出すだけです。

hello,ThinkPHP!
ログイン後にコピー

プロジェクトの Tpl/Test/ ディレクトリに hello (Tpl/Test/hello.html) テンプレート ファイルを作成し、次の出力を追加します。

##

class TestWidget extends Action{
  public function hello($name=''){
    $this->assign('name',$name);
    $this->display('Test:hello');
  }
 }
ログイン後にコピー

前のウィジェットと同様にテンプレート ファイルを現在のディレクトリに置きたい場合は、次のように使用できます:

Hello,{$name}!
ログイン後にコピー

この時点で、定義したばかりの hello テンプレート ファイルを Widget/Test/ ディレクトリに配置できます。

以上がこの記事の全内容です。その他の関連コンテンツについては、PHP 中国語 Web サイトをご覧ください。

関連する推奨事項:

php に基づいて Excel または CSV にエクスポートする方法

##

以上がThinkPHP3.1でのウィジェットの使用についての詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

11ベストPHP URLショートナースクリプト(無料およびプレミアム) 11ベストPHP URLショートナースクリプト(無料およびプレミアム) Mar 03, 2025 am 10:49 AM

11ベストPHP URLショートナースクリプト(無料およびプレミアム)

Laravelでフラッシュセッションデータを使用します Laravelでフラッシュセッションデータを使用します Mar 12, 2025 pm 05:08 PM

Laravelでフラッシュセッションデータを使用します

すべてのPHP開発者が持つべき6追加スキル すべてのPHP開発者が持つべき6追加スキル Feb 28, 2025 am 10:52 AM

すべてのPHP開発者が持つべき6追加スキル

PHPの配列を理解します PHPの配列を理解します Feb 28, 2025 am 10:53 AM

PHPの配列を理解します

Laravelテストでの簡略化されたHTTP応答のモッキング Laravelテストでの簡略化されたHTTP応答のモッキング Mar 12, 2025 pm 05:09 PM

Laravelテストでの簡略化されたHTTP応答のモッキング

LaravelのバックエンドでReactアプリを構築する:パート2、React LaravelのバックエンドでReactアプリを構築する:パート2、React Mar 04, 2025 am 09:33 AM

LaravelのバックエンドでReactアプリを構築する:パート2、React

PHPのカール:REST APIでPHPカール拡張機能を使用する方法 PHPのカール:REST APIでPHPカール拡張機能を使用する方法 Mar 14, 2025 am 11:42 AM

PHPのカール:REST APIでPHPカール拡張機能を使用する方法

Codecanyonで12の最高のPHPチャットスクリプト Codecanyonで12の最高のPHPチャットスクリプト Mar 13, 2025 pm 12:08 PM

Codecanyonで12の最高のPHPチャットスクリプト

See all articles