2016-04-03 17 views
0

私のコードをよりカプセル化して読みやすくするために、私はecho文を使ってWebアプリケーションのWebページ全体に冗長セクションを埋め込むことを選択しました。たとえば、すべてのページに同じナビゲーションバー、フッター、およびヘッダー(ほとんどの場合)があります。私は、jQueryのように、htmlフラグメントを動的に "挿入"する方法を実装しました。PHPを使用した動的HTML

<html lang="en"> 
<?php 
    // START Head. 
    echo "<head>"; 
     // Inject Head here. 
     echo $page_content['head']; 
    echo "</head>"; 
    // END Head. 
    // START Body. 
    echo "<body>"; 
     // Inject Navbar here. 
     echo $page_content['navbar']; 
     // START Div{.container}. 
     echo "<div class=\"container\">"; 
      // Inject Search Bar here. 
      echo $page_content['searchbar']; 
      // Inject Footer content here. 
      echo $page_content['footer']; 
     echo "</div>"; 
     // END Div{.container}. 
    echo "</body>"; 
    // END Body. 
?> 

$page_content変数のすべての断片を保持する:私のインデックスページのスニペットは、このようなものが見えます。

どのようなメリットがありますか?欠点は何ですか?コードをより簡潔にするためにここで見落としている概念がありますか?

+0

あなたが探しているもの/再考しようとすると、[PHP Templating](https://www.google.com.au/search?q=PHP+Templating)が表示されます。 – Darren

+0

@Darrenこれはまさに私が必要としていたものです。ありがとうございました。 – user5553362

答えて

0

一般的に、マークアップとPHPの混合は悪い習慣とみなされ、メンテナンスは悪夢になります。また、必要が生じた場合、作業をフロントエンドの開発者とユーザーの間で分割することは難しくなります。これは、あなたがよりエレガントにやろうとしているものを達成することを可能にするよう代わりに(とりわけ)小枝のような既製のテンプレートエンジンを使用することを検討してください:

<head> 
    {{ $page_content['head'] }} 
</head> 

http://twig.sensiolabs.org/

関連する問題