0

h2O テンプレート エンジン (h ttp://www.h2o-template.org/ )を使用しています。

付属のデモファイルを使用したため、基本的なhtmlでは問題なく動作しますが。

私のコード:

    <?php
    /**
     *   Simple example rendering a user list
     *   ------------------------------------
     *   
     *   @credit - adapt from ptemplates sample
     */
    require 'h2o.php';

    $template = new H2o('test.html', array(
        'cache_dir' => dirname(__FILE__)
    ));

    $time_start = microtime(true);

    echo $template->render(array(
        'users' => array(
            array(
                'username' =>           'peter <h1>asdfasdf</h1>',
                'tasks' => array('school', 'writing'),
                'user_id' =>            1,
            ),
            array(
                'username' =>           'anton',
                'tasks' => array('go shopping <h1>je</h1'),
                'user_id' =>            2,
            ),
            array(
                'username' =>           'john doe',
                'tasks' => array('write report', 'call tony', 'meeting with arron'),
                'user_id' =>            3
            ),
            array(
                'username' =>           'foobar',
                'tasks' => array(),
                'user_id' =>            4
            )
        )
    ));

    echo "in ".(microtime(true) - $time_start)." seconds\n<br/>";

およびテンプレート ファイル test.html:

{% extends 'layout.html' %}
{% block title %}Userlist | {{ block.super }}{% endblock %}
{% block content %}
  <h2>Userlist</h2>
  <ul>
  {% for user in users limit:3 %}
    <li>
      <a href="/users/{{ user.username|urlencode }}">{{ user.username|truncate 4 }}</a> -

      {{ user.tasks.first | safe }}
    </li>

    {% if not user.username == 'foobar' %}
        haha
    {% endif %}

  {% endfor %}
  </ul>

{% endblock %}

ここで述べたように、PDO/Mysql でこれを行うにはどうすればよいでしょうか。構文はある意味で Twig に似ていますが、データベースからのクエリに関する H2O のサイトのドキュメントには何もありません。

4

1 に答える 1