教程苗条测试$ app-> get(x)错误

时间:2016-07-13 15:39:19

标签: php .htaccess slim

在执行以下Tutorial(9:48)关于Slim并测试Slim功能之后,我仍然收到" Page not not found"。

程序应该在某个点之后回显在搜索栏中键入的任何单词。例如,如果搜索" http://localhost/authentication/public/test/Hello",页面应该回显“你好&#39 ;,页面应回声' Hello'

这是通过使用.htaccess文件将任何链接重新路由到index.php来完成的。然后index.php文件运行名为start.php的php文件。

对于为什么这可能不起作用的任何建议?

超薄v3.x

的.htaccess

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [QSA,L]

的index.php

<?php

require '../app/start.php';

$app->run();
?>

start.php

<?php 

use Slim\App;

session_cache_limiter(false);
session_start();

ini_set('display_errors', 'On');

define('INC_ROOT', dirname(__DIR__));

require INC_ROOT . '/vendor/autoload.php';

$app = new App();

$app->get('/test/:name', function($name) {
echo "Hello! {$name}";
});
?>

1 个答案:

答案 0 :(得分:1)

问题是你在使用Slim 3时尝试使用Slim 2 Code。 您必须将代码更改为新结构或切换回v2。

slimframework homepage上有一个像你这样的例子:

//example taken from slimframework.com
use \Psr\Http\Message\ServerRequestInterface as Request;
use \Psr\Http\Message\ResponseInterface as Response;

require 'vendor/autoload.php';

$app = new \Slim\App;
$app->get('/hello/{name}', function (Request $request, Response $response) {
    $name = $request->getAttribute('name');
    $response->getBody()->write("Hello, $name");

    return $response;
});
$app->run();

我建议您阅读official docs