TWIGに問題があります。このコードは学校で動作しますが、私のラップトップでは絶対に動作しません。私は簡単なコードで試しましたが、エラーがあります:
キャッチ可能な致命的エラー:Twig_Filter :: __ construct()に渡される引数1は、/ opt/lampp/htdocs/webalizer/projetSilex/vendor/twig/twig/lib/Twig/Extension/Coreで呼び出される文字列のインスタンスである必要があります。 139行目の.phpおよび35行目の/opt/lampp/htdocs/webalizer/projetSilex/vendor/twig/twig/lib/Twig/Filter.phpで定義
私はphp 5.6/SILEX 2.0を使用します/ Twig 2.0
ご協力いただきありがとうございます。
私のコードは非常にシンプルですが、動作しません:
require_once __DIR__.'/vendor/autoload.php';
$app = new Silex\Application();
$app->register(new Silex\Provider\TwigServiceProvider(), array(
'twig.path' => __DIR__.'/views',
));
$app->get('/', function(){
return "hello";
});
$app->get('/hello/{name}', function($name)use($app){
return $app['twig']->render('hello.twig',
array("name"=>$name
));
});
$app->run();>
@CharlotteDunoisはこれを指摘しましたが、Twig 2.0では> = PHP7.0が必要なので、環境(php 5.6)ではTwig 2.0を使用できません。 Twig公式ドキュメント から:
前提条件
Twigを実行するには、少なくともPHP 7.0.0が必要です。
PHP5.xブランチの場合、まだTwig 1.x aviable
ちょうど私の2セント。 PHPバージョン(共有ホスティング))をアップグレードできなかったため、1.xバージョンを使用するには、package.jsonのTwigバージョンを変更する必要がありました。
次の行を置き換えます:"symfony/twig-bridge": "~2.8|^3.0"
、-> "symfony/twig-bridge": "~2.8|3.0.*",
次に、この行を追加しました:
"twig/twig" : "~1.0"
そして、PHP server v 5.6