Slim v3 和 twig(查看页面显示页面未找到错误)
Slim v3 and twig ( View Page displays page not found error)
我已经按照composer 安装了slim framework 3 和twig 模板。
当我调用函数 http://localhost/elec/helloo/sandesh 时,它会显示 Hello, Sandesh,如 slim 3 文档所述。
但是当我尝试调用视图页面时(在模板文件夹中)。
显示错误页面 Slim Application Error The application could not 运行 because of the following error Error Description
代码有效(显示函数中的 hello,{name})
$app = new \Slim\App;
$app->get('/hello/{name}', function (Request $request, Response $response) {
$name = $request->getAttribute('name');
$response->getBody()->write("Hello, $name");
return $response;
});
代码错误(从函数调用视图页面时显示错误)
$settings = [
'settings' => [
'displayErrorDetails' => true,
],
];
$app = new Slim\App($settings);
// Get container
$container = $app->getContainer();
// Register component on container
$container['view'] = function ($container) {
return new \Slim\Views\PhpRenderer("templates/");
};
// Render Twig template in route
$app->get('/helloo/{name}', function ($request, $response, $args) {
return $this->view->render($response, 'view1.html', [
'name' => $args['name']
]);
})->setName('profile');
路径详细信息
elec>
>>cache
>>templates
>>>view1.html
>>vender
>>.htaccess
>>composer.json
>>composer.lock
>>index.php
$app = new \Slim\App([
'settings' => [
'displayErrorDetails' => true,
]
]);
// Calling twigview from controller
$container = $app->getContainer();
// Register component on container
$container['view'] = function ($container) {
$view = new \Slim\Views\Twig('templates/views',[
'cache' => false,
]);
$view->addExtension(new \Slim\Views\TwigExtension(
$container->router,
$container->request->getUri()
));
return $view;
};
$app->get('/home', function ($request, $response) {
return $this->view->render($response, 'home.twig');
});
传递模板位置时,您必须提供完整路径,(从 运行 index.php 文件的位置开始:
<?php
$container['view'] = function ($container) {
return new \Slim\Views\PhpRenderer(__DIR__ . "/../path/to/templates/");
};
尝试一下,祝你好运。
注意:我使用的是同一行,但使用了 Twig 渲染:
<?php
$container['view'] = function ($container) {
return new \Slim\Views\Twig(__DIR__ . "/../path/to/templates/");
};
我已经按照composer 安装了slim framework 3 和twig 模板。 当我调用函数 http://localhost/elec/helloo/sandesh 时,它会显示 Hello, Sandesh,如 slim 3 文档所述。
但是当我尝试调用视图页面时(在模板文件夹中)。
显示错误页面 Slim Application Error The application could not 运行 because of the following error Error Description
代码有效(显示函数中的 hello,{name})
$app = new \Slim\App;
$app->get('/hello/{name}', function (Request $request, Response $response) {
$name = $request->getAttribute('name');
$response->getBody()->write("Hello, $name");
return $response;
});
代码错误(从函数调用视图页面时显示错误)
$settings = [
'settings' => [
'displayErrorDetails' => true,
],
];
$app = new Slim\App($settings);
// Get container
$container = $app->getContainer();
// Register component on container
$container['view'] = function ($container) {
return new \Slim\Views\PhpRenderer("templates/");
};
// Render Twig template in route
$app->get('/helloo/{name}', function ($request, $response, $args) {
return $this->view->render($response, 'view1.html', [
'name' => $args['name']
]);
})->setName('profile');
路径详细信息
elec>
>>cache
>>templates
>>>view1.html
>>vender
>>.htaccess
>>composer.json
>>composer.lock
>>index.php
$app = new \Slim\App([
'settings' => [
'displayErrorDetails' => true,
]
]);
// Calling twigview from controller
$container = $app->getContainer();
// Register component on container
$container['view'] = function ($container) {
$view = new \Slim\Views\Twig('templates/views',[
'cache' => false,
]);
$view->addExtension(new \Slim\Views\TwigExtension(
$container->router,
$container->request->getUri()
));
return $view;
};
$app->get('/home', function ($request, $response) {
return $this->view->render($response, 'home.twig');
});
传递模板位置时,您必须提供完整路径,(从 运行 index.php 文件的位置开始:
<?php
$container['view'] = function ($container) {
return new \Slim\Views\PhpRenderer(__DIR__ . "/../path/to/templates/");
};
尝试一下,祝你好运。
注意:我使用的是同一行,但使用了 Twig 渲染:
<?php
$container['view'] = function ($container) {
return new \Slim\Views\Twig(__DIR__ . "/../path/to/templates/");
};