\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 这个文件了
刷新浏览器网页,发现类已经可以正常加载
举报