我遇到了一些问题,试图弄清楚如何以特定的方式使用Twig。我试图编写一个我可以在我的应用程序中使用的视图类,无论安装什么模板系统,这样我唯一需要改变的就是模板本身和视图类。
但是,当我尝试在课堂上创建树枝对象时,我会遇到Fatal error: Class 'Template\Twig_Loader_Filesystem' not found
错误,而且我不确定我错过了什么。
有人能指出我正确的方向吗?
这是我到目前为止所得到的......
composer.json
{
"name": "Movies",
"description": "Find movies",
"require": {
"ext-curl": "*",
"twig/twig": "~1.0"
},
"autoload": {
"classmap": [
"app/classes"
]
}
}
的index.php
require_once 'app/app.php';
use Template\Template;
echo Template::render('hello.html', array('name' => 'bob', 'age' => '33'));
应用/ app.php
define('APP_DIRECTORY', __DIR__ . '/..');
require_once APP_DIRECTORY . '/vendor/autoload.php';
应用/类/ Template.class.php
namespace Template;
class Template {
static function render($template_name, $template_data = array()) {
$loader = new Twig_Loader_Filesystem(APP_DIRECTORY . '/app/templates');
$twig = new Twig_Environment($loader);
return $twig->render('hello.html', array('name' => 'lisa', 'age' => '33'));
}
}
答案 0 :(得分:0)
好的,每当我尝试在我的Template类中包含twig命名空间时,我就错了。看看我的组织整合的其他项目,结果只是添加了
use Twig_Environment;
use Twig_Loader_Filesystem;
上课就足够了。我不确定我是否真的必须添加任何内容,因为包含Autoloader,或者如果我必须包含部分路径,例如Twig_Twig/Loader/Filesystem
或类似的东西。显然,这些都没有起作用。