ホームページ >php教程 >php手册 >PHP 開発に不可欠な PHP テンプレート エンジンである Dwoo についての詳細な研究

PHP 開発に不可欠な PHP テンプレート エンジンである Dwoo についての詳細な研究

WBOY
WBOYオリジナル
2016-06-21 08:54:541409ブラウズ

[IT168 特別記事] Dwoo に関する前回のチュートリアル (PHP 開発に必須、PHP テンプレート エンジン Dwoo を段階的に学習します) では、Dwoo の基本的な使い方について説明しました。この記事では、プラグイン メカニズムの記述や一般的な PHP フレームワークとの統合方法など、Dwoo の高度な使用法についてさらに説明します。

1. Dwoo でのテンプレートの継承

Dwoo の強力な機能の 1 つは、テンプレートの継承をサポートしていることです。これは非常に簡単に実装できます。親テンプレートを定義するだけで、子テンプレートが親テンプレートを継承し、さまざまな新しい機能を子テンプレートに定義できます。賢明な開発者は、この機能を上手に活用して、作業の重複を減らします。

Dwoo でテンプレートを継承する鍵となるのは、テンプレートが別のテンプレートを継承できるようにする「拡張」プラグイン メカニズムです。この機能をよりよく理解するために、次の例を示します。以下に示すように、base.tpl という名前の基本クラス テンプレートがすでに存在すると仮定します。このテンプレートには、ナビゲーション領域とコンテンツ領域の 2 つの領域が含まれています。


<html>
<> >
<ボディ>
{ブロック「ナビ」}
{/ブロック}
{ブロック「コンテンツ」}
<div id< /span>="コンテンツ">
これはメイン ページのコンテンツです。
div> ;
{/ブロック}
ボディ> ;
html> ;
 

<html>
  
<head>head>
  
<body>    
    {block "nav"}
    {/block}
    {block "content"}
    
<div id="content">
    This is content for the main page.
    
div>      
    {/block}
  
body>
html>

テーブル>

ここで、一部のページで水平ナビゲーション バーを使用する必要があると仮定すると、基本クラスのテンプレート ページを継承するだけでよく、次のようにナビゲーション バーのスタイルを再定義できます。このコードは子として定義します。 tpl:


 

{extends "base.tpl"}
  {block "nav"}
    
<div id="nav">
      
<a href="#">Homea>
      
<a href="#">Newsa>
      
<a href="#">Weathera>
      
<a href="#">Hotelsa>
      
<a href="#">Dininga>
      
tr>
      
table>
    
div>
  {/block}

{extends "base.tpl"}
{ブロック「ナビ」}
<div id< /span>="ナビゲーション">
<a href< /span>="#">ホーム >
<a href< /span>="#">ニュースa >
<a href< /span>="#">天気天気 >
<a href< /span>="#">ホテル >
<a href< /span>="#">ダイニングa >
tr> ;
テーブル> ;
div> ;
{/block}
<🎜>

ここで、{extends “base.tpl”}は親クラスのテンプレートを継承することを示すために使用されており、ここの{block “nav”}領域ではナビゲーションバーの内容が書き換えられ、最終的な出力は以下のようになります:

次に、一部のページで追加のサブナビゲーション メニューが必要であるとします。この場合、次のコードを使用できます。

extends "child.tpl"}

{block "nav"}
{$dwoo.parent}

<div id="sub-nav">
      
<h2>{$subtitle}h2>
      
<ul>
      {loop $items}
          
<li><a href="#">{$item}a>li>      
      {/loop}
      
ul>
    
div>    
  {/block}
  
  {block "content"}
    
<div id="content">
    This is content for the Dining page.
    
div>
  {/block}

ここで、{$dwoo.parent} は親クラス テンプレートを呼び出すために使用されます。ここでは child.tpl テンプレートが継承されます。つまり、親クラス テンプレートのナビゲーション バーのコンテンツが呼び出され、A が呼び出されます。ここで垂直ナビゲーション バーが再定義され、コンテンツ領域のコンテンツもここで書き換えられ、親テンプレートの対応するコンテンツ領域のコンテンツがカバーされることに注意してください。

テンプレートの継承を適切に使用する限り、開発が大幅に容易になることがわかります。




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