私は現在、twig スタンドアロンを使用しており (symphony や composer ではなく)、php で拡張機能を登録する方法に関するドキュメントを見つけていません。
私のindex.phpファイルは次のようになります
<?php
include 'exts/ext.php';
require_once 'Twig/Autoloader.php';
Twig_Autoloader::register();
$loader = new Twig_Loader_Filesystem('views');
$twig = new Twig_Environment($loader);
$twig->addExtension(new Test_Twig_Extension())
echo $twig->render('index.twig');
?>
私の拡張クラスは次のようになります (ext.php)
<?php
//require_once 'Twig/Extension.php';
//require_once 'Twig/ExtensionInterface.php';
class Test_Twig_Extension extends Twig_Extension {
public function getFunctions() {
return array(
new Twig_SimpleFunction('my_function', array($this,'my_function'))
);
}
public function my_function($arg1, $arg2) {
echo "Arg1: {$arg1} and Arg2: {$arg2}";
}
public function getName(){
return 'my_function';
}
}
?>
次のエラーが表示されます。
致命的なエラー: 12 行目の C:\xampp\htdocs\Twig\Extension.php にインターフェイス 'Twig_ExtensionInterface' が見つかりません
yamlで設定している記事のトーンを見つけましたが、yamlは使用していません。
これを正しく登録していないか、何かが正しく設定されていないと確信しています。