twig根本不加载模板

时间:2018-05-09 19:35:40

标签: php twig

我是树枝的新手,我在最初的步骤中遇到了问题。 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;文件。我把他们包括在内   同样的道路,它已经奏效了。

1 个答案:

答案 0 :(得分:0)

好吧,我无法在没有发布单独帖子的情况下将问题标记为已回答,因此:问题在于缺少“composer.json”和“composer.lock”文件,这些文件是在另一条路径中生成的。将它们与vendor文件夹一起添加到项目目录后,twig已经工作了。