我是树枝的新手,我在最初的步骤中遇到了问题。 twig不会加载任何模板,它会返回一个空白页面。 我的文件'地图看起来像这样:
-app/
---vendor/
---cache/
---templates/
------- home.html
---hi.php
hi.php:
<?php
require_once 'vendor/autoload.php';
class twiger
{
private static $twig;
public static function twig() {
$templatedir = __DIR__.'templates';
if ( ! isset(self::$twig)) {
$loader = new Twig_Loader_Filesystem(array($templatedir));
self::$twig = new Twig_Environment($loader);
}
return self::$twig;
}
}
$msg = "Hello World";
$tw = twiger::twig();
echo $tw->render("home.html", array('msg' => $msg));
?>
和home.html:
<html>
<head>
<title>hello</title>
</head>
<body>
<h4>the meassage is:<h4>
<H2> {{ msg }} </H2>
</body>
</html>
我尝试将debug设置为true但没有任何反应 我检查了权限 在浏览器的控制台中显示&#34; 500内部服务器错误&#34; 我在fedora工作站27上 php 7.2.5 twig 2.4.8
我搜索了一个解决方案,但所有类似的问题都是关于一个错字或误导性目录等等,我已经检查过了。
任何帮助都会很棒
更新:[求助]我发现问题是由于缺失 &#34; composer.json&#34;和#34; composer.lock&#34;文件。我把他们包括在内 同样的道路,它已经奏效了。
答案 0 :(得分:0)
好吧,我无法在没有发布单独帖子的情况下将问题标记为已回答,因此:问题在于缺少“composer.json”和“composer.lock”文件,这些文件是在另一条路径中生成的。将它们与vendor文件夹一起添加到项目目录后,twig已经工作了。