как настроить csrf в slimphp

После запуска «composer require slim/csrf» для загрузки файлов зависимостей csrf моя индексная страница выглядит так:

session_start();
require '/Slim/Slim.php';
require '.../vendor/autoload.php';

//register slim auto-loader
\Slim\Slim::registerAutoloader();

//load Twig files after loading Slim
require '../Views/Twig.php';

//initialize Slim to use Twig
$app = new \Slim\Slim(array('view' => new Slim\Views\Twig()));

//add CSRF middleware
$app->add(new \Slim\Csrf\Guard);

//GET route - homepage
$app->get('/', function() use($app) {
   $app->render("index.php");
});
$app->run();

Но когда я загружаю его в браузере, я получаю эту ошибку

Уловимая фатальная ошибка: аргумент 1, переданный Slim\Slim::add(), должен быть экземпляром Slim\Middleware, заданным экземпляром Slim\Csrf\Guard, вызываемым в C:my-root-folder\index.php в строке 27. и определено в C:my-root-folder\Slim\Slim.php в строке 1269.

Пожалуйста, помогите, я немного новичок в slimphp


person Orion    schedule 16.07.2015    source источник


Ответы (1)


Похоже, вы пытаетесь использовать промежуточное ПО Slim 3 с Slim 2. Чтобы использовать \Slim\Csrf\Guard, вместо этого вы должны использовать Slim 3.

person Mika Tuupola    schedule 16.07.2015