2012-01-17 12 views
-1

htmlを入力するのは非常に面倒で、スペースがかかりすぎてコードの可読性が低下します。このような関数を作成し、すべてのhtmlタグを関数で書く場合はどうすればいいですか?私はただhtmlが速いことを知っていますが、タグ機能を介してhtmlを書く場合、サイトのパフォーマンスとページの読み込み時間にどのように影響しますか。一般的に、htmlをレンダリングするのは悪くないですか?どうもありがとう。 HTMLのレンダリングhtmlタグ、賛否両論の入力を避ける

<?php 
function tag($elem, $attr, $emb_elem = array()){ 
    $arr = explode("|", $attr); 
    $attr_key = explode(',' , $arr[0]); 
    $attr_val = explode(',', $arr[1]); 
    $html = "<" . $elem; 
    for($i=0; $i<count($attr_key); $i++){ 
     $html .= " " . $attr_key[$i] . "='". $attr_val[$i] . "'"; 
    } 
    $html .= ">"; 
    for($i=0; $i<count($emb_elem); $i++){ 
     $html .= $emb_elem[$i]; 
    } 
    $html .="</" . $elem . ">"; 
    return $html; 
} 

echo tag("p", "class,id|someclass,someid", array("some data")); 
# output: <p class='someclass' id='someid'>some data</p> 

答えて

2

この方法は、常にそれをやっていないよりも遅くなります - 質問は、これはあなたがこの方法を書いて保存どのくらいの時間に対するあなたのサイトに影響を与えるどのくらいです。多くのフレームワークには同様のメソッドが含まれている可能性があります。

サイトがこのように動作する場合は、1ページごとにページを読み込む必要がないように、ページをキャッシュすることを検討してください。

あなたがHTMLにこれを変換についてJade、読み取りに興味があるかもしれない:とチームにできるだけ早くあなたが開発として、トラブルにあなたを取得します

!!! 5 
html(lang="en") 
    head 
    title= pageTitle 
    script(type='text/javascript') 
     if (foo) { 
     bar() 
     } 
    body 
    h1 Jade - node template engine 
    #container 
     - if (youAreUsingJade) 
     p You are amazing 
     - else 
     p Get on it! 
+0

私は物事をシンプルにしたい、ネイティブコードで、きれいにしたい、それをするために外部ライブラリを使いたくない。キャッシングに慣れていないだけでなく、パフォーマンスについて心配しますが、それをチェックします。 – user610961

+0

既存のキャッシュシステムを使用することも、独自のキャッシュシステムを構築することもできます。基本的にPHPページを準備するだけですが、エコーする代わりにhtmlファイルとして保存して代わりに読み込んでください。 Movable Typeの使い方の一種。 –

0

あなたのPHPアプリからHTMLの側面を削除します専用のWebデザイナーや、事前に定義されたHTMLレイアウトを開発するとすぐに使用できます。

あなたのスキルセットにあらかじめデザインされたHTMLに機能性を含めるには、選択したテンプレートエンジン(私のお気に入り)を使用するか、PHPコードを「近くに」置くことを強く推奨します。

+0

私はこのように行きたいと思っています。私は一人で作業します(設計とコーディング)。私がパフォーマンスでどれくらい失うかだけ心配している – user610961

関連する問題