为了账号安全,请及时绑定邮箱和手机立即绑定

\Twig_Autoloader::register(); 找不到Twig_Autoloader

\Twig_Autoloader::register(); 找不到Twig_Autoloader

正在回答

6 回答

    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);
        }
    }


0 回复 有任何疑惑可以回复我~
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的


3 回复 有任何疑惑可以回复我~

在官方文档中,引入的方法是:

require_once '/path/to/lib/Twig/Autoloader.php';

但是如果你安装的是twig2.*的版本,会发现vendor/twig/twig/lib目录下根本就没有这样的一个文件,因此才会找不到这个类。

解决的方法是将你的twig改为1.*的版本。具体步骤为:

  1. 将composer.json文件中的 "twig/twig": "*" 改为 "twig/twig": "^1.0",然后在项目目录中启动控制台

  2. 输入命令:composer update

  3. 回车,等待更新完毕后,再次查看vendor/twig/twig/lib目录,发现已经存在 Autoloader.php 这个文件了

  4. 刷新浏览器网页,发现类已经可以正常加载

1 回复 有任何疑惑可以回复我~
#1

强力发明狂

说错了,不是vendor/twig/twig/lib目录,是vendor/twig/twig/lib/Twig目录
2019-03-22 回复 有任何疑惑可以回复我~

不需要引入, 直接就可以用, 可以去掉这行。 可能是因为composer autoload.php已引入

1 回复 有任何疑惑可以回复我~
require_once IMOOC.'/vendor/autoload.php';
0 回复 有任何疑惑可以回复我~
require_once '/path/to/vendor/autoload.php';
0 回复 有任何疑惑可以回复我~
#1

hollo

你是怎么解决的?
2018-12-17 回复 有任何疑惑可以回复我~
#2

强力发明狂 回复 hollo

把twig降到1.*版本即可
2019-03-22 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

\Twig_Autoloader::register(); 找不到Twig_Autoloader

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信