PHPのscanDirを使ってすべてのディレクトリを配列として取得しようとしていて、テンプレートの "for loop"というtwigを使っています。ここ twigでディレクトリlisingをロードする
は私のindex.phprequire_once 'vendor/autoload.php';
$loader = new Twig_Loader_Filesystem('templates');
$twig = new Twig_Environment($loader, array(
'cache' => 'cache',
));
$dir = "movies";
$exclude = array(".","..",".*",".php");
$movies = array_diff(scandir($dir), $exclude);
echo ''; print_r($movies);
$template = $twig->loadTemplate('base.html.twig');
echo $template->render($movies);
であり、ここで私の小枝のテンプレートである - 私のブラウザからソースコード出力base.html.twigここ
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Movies</title>
</head>
<body>
<h1>Movies</h1>
<ul>
{% for movie in movies %}
<li>{{ movie }}</li>
{% endfor %}
</ul>
</body>
</html>
さ
Array
(
[2] => A Movie From Twentytwelve (2012)
[3] => A Movie From Twentyfourteen (2014)
[4] => Another Movie From Twentyfourteen (2014)
[5] => index.php
)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Movies</title>
</head>
<body>
<h1>Movies</h1>
<ul>
</ul>
</body>
</html>
が表示されているので、scandirが配列を取得しています(ただし、.phpファイルは除外しません)。また、テンプレートがロードされているのを見ることができますが、私は配列にもっと何かをする必要があり、テンプレート内の変数を適切に設定する必要があると思います。どんな助けもありがとうございます。
ありがとうございますnininho!私はそれを今働いています echo $ template-> render(['movies' => $ movies]); – dreadycarpenter