ホームページ >バックエンド開発 >PHPチュートリアル >thinkPHP5フレームワークのウィジェットの機能と使い方の分析

thinkPHP5フレームワークのウィジェットの機能と使い方の分析

不言
不言オリジナル
2018-06-11 09:50:101916ブラウズ

この記事では、主に thinkPHP5 フレームワークのウィジェットの機能と使用方法を紹介し、関連する概念、使用方法、および thinkPHP5 のウィジェットの操作上の注意事項を例の形式で分析します。必要な方は、この記事の例を参照してください。

## thinkPHP5 フレームワークのウィジェットの機能と使用法について説明します。参考のために全員と共有してください。詳細は次のとおりです:

注: レンダリングにはアシスタント関数 return view() を使用します。 、ウィジェット関数は失敗します、return $this->fetch()を使用する必要があります

テンプレートを使用する場合、一般的な Web サイトの上部 (ナビゲーション バーやユーザーなど)ウェブサイトの最後にあるフッター(フレンドリーリンクや著作権表示など)と本文部分については、コードを簡素化するためにこれら 3 つの部分を分離して使用します。

ただし、先頭と末尾が純粋な HTML コードである場合は問題ありませんが、通常は変数の代入、ループのトラバーサル、判定などのロジックが含まれます。本来の方法は、これら2つの領域でネイティブのphpコードを使用して実装することですが、これはthinkphp5フレームワークの概念に沿っていないため、初期のバージョンではウィジェットが存在します WordPressとYiiフレームワークに精通している人は、これらはすべてペンダントとウィジェットに組み込まれています。

広告モジュール、カレンダー モジュールなど、Web サイトの特定の領域に変数ループを含む出力を設定するのに非常に便利です。

以下では、thinkphp5 で出力を設定する方法を紹介します。

まず、ブログ コントローラーを作成する必要があります。モジュール ディレクトリと再開ウィジェット ディレクトリに次のコードを記述します。もちろん、これはフレームワークの使用習慣によって異なります。継承しない場合は、ビュー アシスタントを使用してテンプレートをレンダリングする必要があります。 .

コードの意味は、モデル Book 内のデータを取り出し、それをテンプレートに割り当てることです。

重要なポイント: $this->fetch();テンプレートのパスを記述しないと、ビュー ビューの下にあるブログ フォルダー内のインデックス ビューのみがデフォルトで使用されるとは考えないでください。

#これは不可能ですウィジェットでは、対応するビュー パスを入力する必要があります

##対応するビュー パスは、ビュー ビューの下のブログ ディレクトリにあるindex.htmlです。もちろん、ビュー名をカスタマイズできます

namespace app\index\widget;
use app\index\model\Book;
use think\Controller;
class Blog extends Controller
{
  public function index()
  {
    $list = Book::all();
    $this->assign('list',$list);
    return $this->fetch('widget/index');
  }
}

view/blog/index.html

のコードは次のとおりです。たとえば、

ここでは、カスタマイズされた出力が指定されたコンテンツを横断します

{volist name="list" id="v"}
<p>{$v.id}+{$v.bookname}</p>
{/volist}

ナビゲーション バーの横断出力やその方法など、実際のアプリケーションで必要な関数を使用できます。多数のウィジェット モジュールを呼び出すには # 、指定したビュー テンプレートまたは継承されたパブリック テンプレートで次のコードを使用できます

{:widget('Blog /index')}

この出力方法では、Blog はウィジェット ディレクトリのコントローラー、index はコントローラー内のメソッド名です

<!doctype html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport"
     content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Document</title>
</head>
<body>
  <p>这里显示的默认主页输出内容</p>
  <p>如果widget使用正常,下面将输出遍历一个数据表的内容</p>
  {:widget(&#39;Blog/index&#39;)}
</body>
</html>

この時点での出力は、次のページが完成しました!

#ここに示されているデフォルトのホームページの出力内容

#ウィジェットが通常に使用されている場合、以下はデータ テーブルを走査した内容を出力します1 weilai

2 yanyan

以上がこの記事の全内容であり、皆様の学習に役立つことを願っています。内容については、PHP 中国語 Web サイトにご注意ください。

関連する推奨事項:

thinkPHP に渡される U メソッド暗号化パラメータの機能分析

thinkPHP5.0 フレームワークについて環境変数の設定方法

#ThinkPHP での order() の使用方法


#

以上がthinkPHP5フレームワークのウィジェットの機能と使い方の分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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