概要
題名通り、ControllerだけでHTMLを出力する。
何かに使えるかと思っているか、今のところ使い道はない。
コード
とあるControllerの、アクションindexで、どうしてもTemplateファイルを作成したくない場合、以下のコードをController内に書けばHTMLを返してくれる。
public function index() {
$response = $this->response
->withType('text/html')
->withStringBody($this->sampleHtml());
return $response;
}
private function sampleHtml() {
return '<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>インデックス</title>
<body>
<h1>Welcome this page!</h1>
<script>window.addEventListener("load", () => {alert("ようこそ!")})</script>
</html>
';
}
補足
Templateを使えば、データのバインディングはできるし、PHPを埋め込んで処理もできるし、こんなことする意味がわからない。が、できたから記念に残しておく。
以上