View

view($name, $vars=[])

view関数を使うと、pachira/app/views/{$name}.phpを読み込むことができます。 View自体はただのPHPファイルで、テンプレートエンジンなどは使っていません。 Viewの中でViewを呼ぶこともできます。

get("/", function(){
  // pachira/app/views/index.php を読み込む
  view("index");
});

$varsに変数名と値のセットを渡すと、view内でその変数を参照できます。

routers/app.php

view("index", ["articles" => $articles]);

views/index.php

...
<ul>
  <?php foreach($articles as $article): ?>
  <li><?php echo h($article->name); ?></li>
  <?php endif; ?>
</ul>
...

capture_view($name, $vars=[])

capture_vuewを使うと、viewの結果をprintせず、文字列として受け取ることができます。

$view = capture_view("index", ["articles" => $articles]);

view_var($var, $val)

view_var関数を使うと、全てのviewで使う変数を登録できます。

view_var("current_user", $current_user);
view_var("current_page", $current_page);