\Twig_Autoloader::register(); 找不到Twig_Autoloader
\Twig_Autoloader::register(); 找不到Twig_Autoloader
\Twig_Autoloader::register(); 找不到Twig_Autoloader
2018-06-04
public function display($file)
{
$path = APP . '/views/' . $file;
// 判断模板是否存在
if (is_file($path)) {
// 模板配置
$conf = \core\lib\Config::all('twig');
// 模板加载
$loader = new \Twig\Loader\FilesystemLoader($conf['view_path']);
// 模板环境
$twig = new \Twig\Environment($loader, [
'cache' => $conf['view_cache_path'],
'debug' => DEBUG,
]);
// 模板显示
$twig->display($file, $this->assign);
}
}public function display($file)
{
$file = APP . '/views/' . $file;
if(is_file($file)) {
$loader = new \Twig\Loader\FilesystemLoader(APP . '/views');
$twig = new \Twig\Environment($loader, [
'cache' => '/path/to/compilation_cache',
'debug' => DEBUG
]);
$template = $twig->load('index.html');
$template->display($this->assign?$this->assign:"");
}
}这样就可以了,版本是2.x的
在官方文档中,引入的方法是:
require_once '/path/to/lib/Twig/Autoloader.php';
但是如果你安装的是twig2.*的版本,会发现vendor/twig/twig/lib目录下根本就没有这样的一个文件,因此才会找不到这个类。
解决的方法是将你的twig改为1.*的版本。具体步骤为:
将composer.json文件中的 "twig/twig": "*" 改为 "twig/twig": "^1.0",然后在项目目录中启动控制台
输入命令:composer update
回车,等待更新完毕后,再次查看vendor/twig/twig/lib目录,发现已经存在 Autoloader.php 这个文件了
刷新浏览器网页,发现类已经可以正常加载
举报