特定のMVCフレームワークを使用せずにPHPビュースクリプトを前処理する方法はありますか?
基本的に、ビューをレンダリングして、HTML文字列として別のビューに渡します。レンダリングしようとしているビューには、$ this-> rowsのようないくつかの参照があります。もちろん、HTMLを生成する前に、これらの参照の値をスクリプトに追加する必要があります。
これは可能ですか?
特定のMVCフレームワークを使用せずにPHPビュースクリプトを前処理する方法はありますか?
基本的に、ビューをレンダリングして、HTML文字列として別のビューに渡します。レンダリングしようとしているビューには、$ this-> rowsのようないくつかの参照があります。もちろん、HTMLを生成する前に、これらの参照の値をスクリプトに追加する必要があります。
これは可能ですか?
はい、それは完全に可能です。出力バッファリングを利用して、最初のビューが表示されないようにしてから、そのビューの出力を変数に格納することをお勧めします。
ob_start();
include ('/path/to/file.php');
$contents = ob_get_contents();
ob_end_clean();
その方法は、使用しているフレームワークによって異なります。
ただし、これは、ネストされたインクルードを使用するだけでPHPで実行できます。
例えば
page.php
<?php include(HEADER) ?>
<?= $var ?>
<?php include(FOOTER) ?>
page.phpで使用できるすべての変数は、ヘッダービューとフッタービューでも使用できます。