ob_get_contents()
をコアメソッドとして使用して独自のテンプレートスクリプトを作成しています。それを使用すると、1つのファイルから呼び出して、他のファイルをレンダリングすることができます。 (PHP)以前のINCLUDE/REQUIRE呼び出しを子ファイルに渡すにはどうすればいいですか?
index.php
が呼び出す
- のindex.php
- header.html
- footer.html
- のfunctions.php:
は同じように、私たちは4つのファイルを持っていると仮定することができます他のファイル(ここでは2つのhtmlファイル)の内容をレンダリングします。以下のコードを使用することにより:
//index.php function render($file) { if (file_exists($file)) { ob_start(); include($file); $content = ob_get_contents(); ob_end_clean(); return $content; } } echo render('header.html'); echo render('footer.html');
をしかし
header.html
がコールinclude('functions.php')
、インクルードファイル(のfunctions.php)が含まれている場合(例えば)はfooter.html
で再度使用することはできません。私は、footer.html
に再度インクルードする必要があります。したがって、ここでは、include('functions.php')
という行は両方のファイルに含まれている必要があります。include()
子ファイルからもう一度ファイルを呼び出さないでファイル?
'include_once'で' ob_start'の前に私のファイルを含みますか?ああ、私の例では、 'index.php'の先頭に' include_once'で必要なファイルをすべて宣言すれば可能です。だから、子供たちは再び宣言する必要はありませんか? –
@ 4lvinはい、もちろん可能です。最初に 'include_once'や' require_once'を使うと、すべての子ファイルに含まれている内容が表示されます。 –
WOw!うん!それはシンプルで信じられないほどです!乾杯してくれてありがとうArman P. –