致命错误:未捕获错误:未找到“Twig_Autoloader”类

Sum*_*ran 5 php templating templating-engine fatal-error twig

最近我通过 Composer for PHP7.2 安装了 Twig2.0,运行代码时出现这些错误,

(!)致命错误:未捕获错误:在第 4 行的 C:\wamp64\www\php-twig\example.php 中找不到类“Twig_Autoloader”

(!)错误:在第 4 行的 C:\wamp64\www\php-twig\example.php 中找不到类“Twig_Autoloader”

我在 GitHub 上查看了这些问题。

这是我的 PHP 代码,

<?php

require 'vendor/autoload.php';
Twig_Autoloader::register();

$loader = new Twig_Loader_Filesystem('templates');

$options = array(
    'name' => 'Sumithran',
);

$twig = new Twig_Environment($loader, $options);
Run Code Online (Sandbox Code Playgroud)

和index.twig

<!DOCTYPE html>

<html>
<head>
    <meta http-equiv="Content-type" content="text/html; charset=utf-8">
    <title>Twig test</title>
</head>
<body>
    
    <h1>Hello world</h1>
    
    <p>And hello {{ name }}</p>
    
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

怎么解决这个问题呢?

Cac*_*nde 4

Twig_Autoloader在 1.21 版本中已弃用。您使用的是 2.0 版本,因此必须使用:

$loader = new \Twig\Loader\FilesystemLoader('templates');

$options = array(
    'name' => 'Sumithran',
);

$twig = new \Twig\Environment($loader, $options);
Run Code Online (Sandbox Code Playgroud)

更多详细信息,请参见Twig 文档 - Twig 开发人员