【问题标题】:Tutorial slim test $app->get(x) error教程 slim 测试 $app->get(x) 错误
【发布时间】:2016-11-16 07:18:21
【问题描述】:

在对 Slim 执行以下 Tutorial (9:48) 并测试 Slim 功能后,我仍然收到“找不到页面”。

程序应该在某个点之后回显在搜索栏中键入的任何单词,例如。如果搜索“http://localhost/authentication/public/test/Hello”,页面应该回显“Hello”,页面应该回显“Hello”。

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

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

Slim 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}";
});
?>

【问题讨论】:

标签: php .htaccess slim


【解决方案1】:

问题是您在使用 Slim 3 时尝试使用 Slim 2 代码。 您必须将代码更改为新结构或切换回 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

【讨论】:

  • 顺便说一句,我已经使用 Slim 3 大约 4 个月了,这绝对是一种享受。它为您提供了一个起点,您可以使您的应用程序变得复杂或保持简单,仅与现代 Web 开发的最基本模式相关联
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-06-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-30
相关资源
最近更新 更多