HTML (Qiq)

セットアップ

QiqでHTML表示をするために、以下の手順で設定を行います:

  1. composerでbear/qiq-moduleをインストールします:
    composer require bear/qiq-module
    
  2. テンプレートやヘルパーを格納するディレクトリを用意します:
    cd /path/to/project
    cp -r vendor/bear/qiq-module/var/qiq var/
    
  3. htmlコンテキストファイルsrc/Module/HtmlModule.phpを用意してQiqModuleをインストールします: ```php 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`を有効にします:

```bash
$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のautoloadQiq\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'));
    }
}