【问题标题】:PHP - What are PHP routing concepts I need to know to use routing libraries?PHP - 使用路由库我需要了解哪些 PHP 路由概念?
【发布时间】:2020-05-01 14:48:01
【问题描述】:

我正在尝试使用Klein 运行简单的路由。我尝试运行最简单的示例:

<?php
require_once __DIR__ . '/vendor/autoload.php';

$klein = new \Klein\Klein();

$klein->respond('GET', '/hello-world', function () {
    return 'Hello World!';
});

$klein->dispatch();

当我在浏览器中转到 localhost/mysitedomain/hello-world 时,我只收到一个 HttpException:Fatal error: Uncaught Klein\Exceptions\HttpException in C:\xampp-portable-win32-7.2.9-0-VC15\xampp\htdocs\mywebsite\vendor\klein\klein\src\Klein\Exceptions\HttpException.php on line 36。

我阅读了文档,甚至阅读了其他路由库,但似乎还有更多内容。有这样的概念:

  • 匹配
  • 响应
  • 渲染
  • 路由
  • 观看次数
  • 控制器
  • 操作

我只是希望在我去某个路线时得到一个函数回调,但我不知道异常的原因是什么。我需要先匹配吗?然后回应?然后渲染?

我已经尝试过 dispatch 库,虽然我没有在那个库中遇到错误,但路由回调永远不会被调用。

我不知道这些路由库是如何工作的。 如何使用 Klein 获得简单的工作路线?

【问题讨论】:

  • httpexception好像是404/405引起的,不知道是什么原因。
  • 您定义了/hello-world,但尝试加载/mysitedomain/hello-world(我既不知道库也不知道您的设置,所以我不知道这是否有问题)。无论如何,that line of code 会抛出一个 HTTP 状态代码,很高兴知道是哪一个(尽管我认为它是 404 Not Found);您可以捕获并打印异常或检查浏览器的“网络”窗格。

标签: php routes


【解决方案1】:

Klein.php 路由器似乎已损坏/过时。上次提交是 3 年前,所以我认为不会很快有任何更新。

对于初学者,我可以推荐使用Slim Framework。它的功能比路由还多,但你可以只使用路由部分而忽略其余部分,没有任何问题。

【讨论】:

  • 其实Slim使用了第三方路由库:FastRoute
猜你喜欢
  • 2020-09-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-08-29
  • 1970-01-01
  • 2017-03-06
  • 2023-02-11
相关资源
最近更新 更多