Php 在类的构造函数中初始化细枝

Php 在类的构造函数中初始化细枝,php,twig,Php,Twig,我试图在构造函数中初始化细枝,但遇到以下问题: 致命错误:未捕获的细枝\error\SyntaxError:未知的“for”标记。你是说“为了”吗? 下面是我的班级的样子: require_once(__DIR__ . '/vendor/autoload.php'); class Test { public $loader; public $twig; public function __construct() { $this->loader

我试图在构造函数中初始化细枝,但遇到以下问题:

致命错误:未捕获的细枝\error\SyntaxError:未知的“for”标记。你是说“为了”吗?

下面是我的班级的样子:

require_once(__DIR__ . '/vendor/autoload.php');

class Test {

    public $loader;
    public $twig;

    public function __construct() {
        $this->loader = new Twig_Loader_Filesystem(__DIR__ . '/templates');

        $this->twig = new Twig_Environment($this->loader);

        $this->show_page();
     }

     public function show_page() {
         $results = get_results_from_db();

         $template = $this->twig->loadTemplate('results.twig');

         $template->render([
             'results' => $results,
         ]);
     }
}
结果。细枝

{% for result in results %}
    <p>{{ result.name }}</p>
{% endfor %}
{%for result in results%}
{{result.name}

{%endfor%}
现在,如果我在构造函数之外删除加载程序和细枝定义,并将它们放在
show_page
方法中,它工作得很好,但细枝不是这样使用的。

根据,渲染时需要回显视图。这应该很好:

require_once('vendor/autoload.php');

class Test
{
    public $loader;
    public $twig;

    public function __construct()
    {
        $this->loader = new Twig_Loader_Filesystem(__DIR__ . '/templates');

        $this->twig = new Twig_Environment($this->loader);

        $this->show_page();
    }

     public function show_page()
     {
         $results = get_results_from_db();

        $template = $this->twig->loadTemplate('results.twig');

        echo $template->render([
            'results' => $results,
        ]);
     }
}

您是否定义了
\u DIR
常量?@N'Bayramberdiyev抱歉,这是一个拼写错误,现已修复。您可以尝试
$this->loader=new Twig\u loader\u文件系统(\u DIR\u.'/templates')
而不是
$this->loader=new Twig\u loader\u文件系统(uuu DIR\uuuu,./templates')?我再次道歉,但那也是一个打字错误,我仔细阅读了这篇文章,现在我想我已经把它们都处理掉了。你能试试这个:
$this->loader=new\Twig\u loader\u文件系统(\uuu DIR\uu.'/templates')$此->细枝=新建\twig\u环境($this->loader)