问答详情
源自:3-5 twig模板引擎(1)

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

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

提问者:Jonty1024 2018-06-04 15:01

个回答

  • FeoniX_0001
    2024-02-07 00:51:43

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


  • qq_瀭赢_0
    2019-04-26 13:19:16

    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的


  • 强力发明狂
    2019-03-22 23:31:46

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

    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. 刷新浏览器网页,发现类已经可以正常加载

  • anchors
    2018-06-11 02:28:24

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

  • Jonty1024
    2018-06-04 15:17:22

    require_once IMOOC.'/vendor/autoload.php';

  • Jonty1024
    2018-06-04 15:07:13

    require_once '/path/to/vendor/autoload.php';