HTML (Qiq)
セットアップ
QiqでHTML表示をするためにcomposerでbear/qiq-module
をインストールします。
composer require bear/qiq-module
次にテンプレートやヘルパーを格納するディレクトリを用意します。
cd /path/to/project
cp -r vendor/bear/qiq-module/var/qiq var
html
コンテキストファイルsrc/Module/HtmlModule.php
を用意してQiqModule
をインストールします。
namespace MyVendor\MyPackage\Module;
use BEAR\Package\AbstractAppModule;
use BEAR\QiqModule\QiqModule;
class HtmlModule extends AbstractAppModule
{
protected function configure()
{
$this->install(new QiqModule($this->appMeta->appDir . '/var/qiq/template'));
}
}
コンテキスト変更
bin/page.php
のコンテキストを変更してhtml
を有効にします。
$context = 'cli-html-app';
テンプレート
Indexリソースのテンプレートをvar/qiq/template/Page/Index.php
に用意します。
<h1>{{h $this->greeting }}</h1>
ResourceObjectの$body
がテンプレートに$this
としてアサインされます。
php bin/page.php get /
200 OK
content-type: text/html; charset=utf-8
<h1>Hello BEAR.Sunday</h1>
カスタムヘルパー
カスタムヘルパー はQiq\Helper\
のnamespaceで作成します。例: Qiq\Helper\Foo
composer.jsonのautoload
にQiq\Helper
を指定し(例: composer.json) 、composer dump-autoload
を実行してヘルパークラスをオートロード可能にします。指定ディレクトリに設置するとカスタムヘルパーが利用可能になります。
ProdModule
プロダクション用にエラーページをHTMLにし、コンパイラキャッシュを有効にするためのモジュールをProdModuleでインストールします。
class ProdModule extends AbstractModule
{
protected function configure()
{
$this->install(new QiqErrorModule);
$this->install(new QiqProdModule($this->appDir . '/var/tmp');
}
}