Slim 框架中的路由

Routing in SlimFramework

我按照 SlimFramwork 的教程进行操作,并尝试通过我定义的一些页面进行路由。我有这个 index.php 文件,我从中 运行:

<?php
use \Psr\Http\Message\ServerRequestInterface as Request;
use \Psr\Http\Message\ResponseInterface as Response;

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

$app = new \Slim\App;

require_once('../app/api/books.php');

$app->run();

?>

和这个文件 books.php 这是我的页面:

<?php

$app->get('/api/books', function()  {
    echo "Welcome to books";
});

?>

这是我的文件夹结构:

我 运行 在本地主机上用 wamp 使用这个 link:

本地主机:8082/myslimsite/app/api/books

我在端口 8082 上安装了本地主机,我的 php 版本是 7.0.10

这是我的错误

我尝试在互联网上寻找解决方案,但没有任何效果,我找到并尝试过的是:

1 - 对于像这样使用 ($app) 的书籍:

<?php

$app->get('/api/books', function()  {
    echo "Welcome to books";
});

?>

2 - 在书中使用具有 $app 变量

的 class 文件
require '../vendor/autoload.php';
$app = new \Slim\App;

您的路线不正确 您必须先导航至 index.php,然后导航至您的路线

如果您的服务器主页在 public 文件夹中 index.php 您将只导航到您的路线 url 目录 NOT 到此文件的路径 否则你必须导航到 public/你的路线-Url

所以导航到

localhost:8082/myslimsite/public/api/books

这将正常工作