2009-04-26 23 views
1

私は大したものではありませんが(あまりひどくはない)、標準のページヘッダーを引数に書いて物事を変更するような機能を持つクラスを使用するようにPHP Webサイトを変更していますヘッダーのテキストのように。インクルードされたファイルは非エコーHTMLや通常のPHPの両方を持っているPHPは関数を含む

<div class="left"><?php include("left.php"); ?></div> 

:古いバージョンのようなもので、各ファイルにコピー&ペーストHTMLヘッダを使用しました。これらは使用し続けているように見えますが、include()メソッドを直接インクルードするだけでファイルがインクルードされていることはわかります。

それが方が良いでしょう:
は -Re-書き込み
が私の新しい機能にこれらのファイルの内容を移動-Simplyすべての標準的なHTMLをエコーするために含まれているファイルを適切な(私の知る限りでは、彼らが使用していないところどこにでも私の新しい機能のどこにあるかを除いて)
- 何か他のもの

ありがとう。

答えて

4

読むhttp://php.net/include

インクルードは、それがその関数内で定義されていたかのように、その後、呼び出し元のファイル内の関数の内部で動作しますと呼ばれるファイルに含まれるコードのすべてを発生含まれている場合。したがって、その関数の可変スコープに従います。このルールの例外は、インクルードが発生する前にパーサーによって評価されるマジック定数です。

ファイルが含まれていると、解析はPHPモードからターゲットファイルの先頭でHTMLモードに戻り、最後に再開します。このため、PHPコードとして実行されるターゲットファイル内のコードは、有効なPHPの開始タグと終了タグの中に囲まなければなりません。

PHPは、C/C++のようにinclude文を置き換えるためにインクルードされたファイルからコードをコピー&ペーストするだけではありません。したがって、インクルードされたファイル内の<?php?>タグが、それを含むファイルを混乱させる心配はありません。

0

HTMLをすべてエコーするようにPHPを書くことは、実際に変数などを解析していないと、少し効率が悪くなります。それは、私は自分でそれをやる習慣を振り回すように見えることはできません。 :)

よく設計されたページは、必要な場合にのみPHPを使用しますが、あなたの現在の方法は、おそらくあなたのサイトに最適な方法だと思います。

あなたのサイトの大部分が突然動的に生成された場合、この質問を再検討する価値があります。

関連する問題