PHPにおけるMVCのビュー
それでは、私たちのアクションにビューを追加しましょう。
私たちのフレームワークのルールでは、ビューは
フォルダ /project/views/ に格納されます。
さらに、私たちのフレームワークでは、
次の規約が適用されます:ビューファイルの名前は
アクションの名前と一致し、
コントローラーの名前と同じ名前のフォルダに
配置されなければなりません。
例えば、コントローラー PageController がある場合、
そのすべてのビューは
フォルダ /project/views/page/ に格納する必要があります。ビュー
ファイル自体の拡張子は
.php でなければなりません。例えば、コントローラー
PageController にアクション act がある場合、
そのビューは
/project/views/page/act.php に配置する必要があります。
何らかのアクションにビューを設定するためには、
そのアクションはメソッド
render を呼び出し、パラメータとしてビューの
名前を渡す必要があります。ビューの名前は、
小文字のコントローラー名で構成され、
その後ろに / を挟んでアクションの
名前が記述されます。
メソッド render はコントローラー内で
実装する必要はありません - それは親クラス
Core\Controller から継承されます。さらに、
正しく動作させるためには、メソッドの結果を
return で返す必要があります。
では、コントローラー Page
とアクション act があるとします。
このアクションにビューを関連付けましょう:
<?php
namespace Project\Controllers;
use Core\Controller;
class PageController extends Controller
{
public function act()
{
return $this->render('page/act');
}
}
?>
次に、ビューのHTMLコードを含むファイルを作成しましょう:
<div>
これは page コントローラーの
act アクションのビューです
</div>
上記の操作を実行した後、 アドレスバーからアクションにアクセスしてください。 作成したビューからのテキストがブラウザに 表示されることを確認してください。