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)代码>?