ホームページ  >  記事  >  バックエンド開発  >  ThinkPHP フレームワークのビュー_PHP チュートリアル

ThinkPHP フレームワークのビュー_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-14 10:12:191032ブラウズ

1. 見る

1. ビューコンポーネントの構成:

1) クラスを見る

クラスを見る

スマートクラス

2) テンプレート

Tpl/プロジェクト/モジュール/***.html

ビュー クラスは、テンプレートのコンテンツを読み取り、文字列置換を実装し、最終的にそれをユーザーに出力する責任があります

2. テンプレートの定義

デフォルトのテンプレートファイル定義ルール:

テンプレートディレクトリ/[グループ名/]モジュール名/オペレーション名+テンプレートサフィックス

TMPL_TEMPLATE_SUFFIX

一般に、テンプレートのサフィックスには次のタイプが使用されます:

.html

.html

.tpl

3. 区切り文字

テンプレート デザイナーごとに習慣が異なるため、「{}」を使用することに慣れている人もいれば、<{}> を使用する人もいます

設定ファイルでは、設定テンプレートの区切り文字を表す次の 2 つの設定オプションを設定できます

'TMPL_L_DELIM'=>'<{',

'TMPL_R_DELIM'=>'}>',


4. テンプレートの割り当てと出力

1) $this->assign(‘テンプレート変数名’, 変数);

$var = '携帯電話';

$this->assign('var',$var);

$this->display('test');


2) $this->assign(配列変数);

<{$配列要素の添字}>


<{$price}>

<{$address}>

$var = '携帯電話';

$this->assign('var',$var);

$arr['価格'] = 33.3;
$arr['住所'] = '北京';
$this->assign($arr);
$this->display('test');
}

3) $this->display(‘オペレーション名’)

現在の module.html テンプレートで指定された操作名

4) $this->display(‘Module: オペレーション名’) // テンプレートはモジュール間で呼び出すことができます


指定したモジュール配下の指定した操作名.htmlテンプレートを参照してください

5) $this->display(‘操作’, ‘出力エンコーディング’, ‘出力タイプ’);


//クロスモジュール出力
$this->display('User:login','utf-8','text/html');

5. テンプレートの置き換え(テンプレート定数)

プロジェクト内で頻繁に引用される CSS、JS、画像などのリソースは引用する必要があります。


__PUBLIC__: 現在の Web サイトのパブリック ディレクトリ

__APP__: 現在のプロジェクトの URL アドレス

__GROUP__: 現在のグループの URL アドレス

__URL__: 現在のモジュールの URL アドレス

__ACTION__: 現在の操作の URL アドレス

tp のテンプレートでは、上記のテンプレート定数を使用できます。通常、URL を参照する必要がある場合は、上記の定数を使用できます。

デフォルト: 訪問した場合:

Localost/index.php/home/product/test、テンプレートが __PUBLIC__ テンプレート定数を使用している場合、その値は Apache の htdocs ディレクトリを指しますが、複数のプロジェクトがある場合、競合が発生します。

解決策:

1) 設定ファイルを変更します

設定ファイルでは、TMPL_PARSE_STRING というオプションを設定できます。これにより、テンプレートで使用されるテンプレート定数の値を定義できます


その後、テンプレート内で、次のように現在のプロジェクトの下にあるリソース ファイルを参照できます:


2) 仮想ホストを構成する

ホスト ファイルを開きます:

httpd.conf を開きます


上記の設定オプションの前にある # を削除します

httpd-vhosts.conf ファイルを開き、新しい仮想ホスト設定を追加します


Apacheを再起動

Localhost---àapache/htdocs/

 

Tp.com-----àapache/htdocs/tp/

 

6、 获取内容

 

$this->fetch();

 


 

Display:读取模板、替换内容、输出

Fetch:读取模板、替换内容、返回字符串(主要用于生成静态页)

 

 

二、模板

 

1、 模板注释:

 

l  {/* 注释内容 */ }

 

l  {// 注释内容 }

 

Tp中的模板注释主要是给模板设计者或程序设计者来看的

 

2、 变量输出:

 

程序向模板中赋值

 

普通变量

       $name

数组变量

       $row

对象变量

       $obj

 

代码示例:

 

Php程序:

 


 

模板程序:

 


 

 

 

 

 

 

 

3、 系统变量   (模板中的系统变量)

 

l  $Think.server        $_SERVER

l  $Think.get               $_GET

l  $Think.post             $_POST

l  $Think.request         $_REQUEST

l  $Think.cookie          $_COOKIE

l  $Think.session         $_SESSION

l  $Think.config          读取配置文件      

 

 


 

4、 使用函数

 

l  格式

 

       {$name|fn1|fn2=arg1,arg2,###}

 


 

5、 默认值

 

{$变量|default="默认值"}

 


 

6、 运算符

 

l  +              {$a+$b}

l  -        {$ab}

l  *              {$a*$b}

l  /        {$a/$b}

l  %             {$a%$b}

l  ++            {$a++} 或  {++$a}

l  --              {$a--}  或 {--$a}

 


 

7、 内置标签

 

<{$title}>

<标签>

l  闭合标签


l  开放标签

8. ファイルを含める

は、プロジェクトに基づくエントリ ファイルの場所です。

./Tpl/Admin/Public/header.html

Web ページの公開部分を 2 つの公開テンプレート ページ、header.html と footer.html に配置し、インクルードを使用してホームページ上でそれらを参照します


上記のファイルを参照する際、パスが長すぎるのですが、どうすれば解決できますか?

は、現在のプロジェクトの下にある指定されたテンプレート内の指定されたテンプレートを参照することを意味します



「パブリックモジュール」の下にフッターファイルとヘッダーファイルを含めるには include を使用します

Includeタグを使用するとパラメータをテンプレートに渡すことができます


テンプレートコード:


9. ファイルをインポートする

tp では、リソース ファイルへの参照を実装 (簡素化) するためにいくつかのタグが提供されています

l形式:

ファイル (必須): リソース ファイル

type (オプション): リソースファイルのタイプ、デフォルトは js です

開始パスはウェブサイトのパブリック (__PUBLIC__) ディレクトリです

名前空間アプローチを使用しました

ディレクトリ。 ディレクトリ。


10、ボリストタグ

配列要素を反復処理するために使用されます

l形式:

<ボリスト名="リスト" id="vo">

{$vo.id}

{$vo.name}

l 名前 (必須): 走査する配列変数

l ID (必須): 現在の配列要素

l offset: 出力するデータのオフセット

l length: 出力データの長さ、オフセットを指定する必要があります

l キー: ループ インデックス キーの値のデフォルトは i


11、foreachタグ

配列変数を反復処理するために使用されます

文法:

{$vo.id}

{$vo.name}

名前: 走査する配列変数

項目: 現在の要素を保存するために使用される変数名

特別なニーズがある場合は volist を使用し、そうでない場合は foreach を使用してください

12. タグ用

{$i}

プロパティ:

l start (必須): ループ変数の開始値

l end (必須): ループ変数の終了値 (含まれていません)

l name (オプション): ループ変数名、デフォルト値は i

l ステップ (オプション): ステップ値、デフォルト値は 1 です


13.タグを切り替える

l形式:

出力内容1

出力内容 2

<デフォルト />デフォルトの状況


14、空のタグ

l 名前が空です

15.タグを割り当てる

l

16、タグの場合

もし

l elseif

他に


判定する際には以下のコネクタを使用する必要があります

l 等しいか:

と等しい

l neq または notequal:

と等しくない

l gt:

より大きい

例:

以上

l lt:

未満

l elt:

以下

l heq:

と常に等しい

l nheq:

と常に等しいとは限りません

17、PHPコードを使用する

1)echo “hello”;

2)


設定ファイルには、2番目の方法を使用できるかどうかを制御するオプションがあります


TMPL_DENY_PHP は 2 番目の方法を無効にできます

推奨事項: テンプレート内で使用する PHP コードはできるだけ少なくしてください


www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/477228.html技術記事 1. ビュー 1. ビュー コンポーネントの構成: 1) ビュー クラス ビュー クラス Smarty クラス 2)​​ テンプレート Tpl/project/module/***.html 最後に、ビュー クラスはテンプレートのコンテンツを読み取り、文字列置換を実装します。 ..
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。