laravel - index.php?id=1 和 index.php/id/1 的区别
问题描述
- 如果我想创建 RESTful API,我应该选择哪一个?
- index.php/id/1 的 URL 是如何工作的?我认为这是一个文件路径,而不是一个 URL。
- 如果我想获取 abc.com/img/1.png 格式的图像,它可能与 abc.com/img/{param} 有冲突。我该如何解决?
顺便说一句,我现在使用 Laravel。
非常感谢。
解决方案
区别在于路由模型绑定
https://laravel.com/docs/5.7/routing#route-model-binding
这使您可以获取具有传递到路由中的 id 的模型
因此,例如这样的路线:
Route::get('users/{user}', 'UsersController@getUser');
将允许您在您的方法中执行此操作:
use App\User
public function getUser(User $user) {
return $user;
}
这意味着您可以获得路线中 id 的完整记录。
所以你的问题:
1:我将使用它来发送模型 ID 2:路由中的变量按顺序传递给允许您访问它们的方法。3:您需要小心您的路线,因为您可能会遇到冲突。话虽如此,Laravel 并没有使用传统的目录结构进行存储。我相信,如果您有 /public/img 的文件夹结构,并且该文件夹包含一个名为 1.png 的 img ,它将获得图像,但我尚未对此进行测试。
推荐阅读
- python - 将主机系统显示的 HTML+JS 集成到运行在 Docker 容器(linux 子系统)中的 Python 脚本中
- apache-nifi - 从平面文件中读取数据后,如何从 Nifi Flow File 中仅提取几列
- salesforce - 在 SF 的多个函数中使用变量
- visual-studio - 新的 Visual Studio 2010 开发系统上的系统调色板已更改
- c - 为什么我不能检查 C 中结构的大小?(未声明的错误)
- python - Pandas:如何在滚动窗口中找到高点后的低点
- javascript - 计算碰撞球位置的最简单方法是什么?
- visual-studio-2019 - 更新 Nuget 包后找不到 vs2019 'SharpDX.Toolkit.Compiler'
- git - Git 状态报告分支是最新的'origin/master',但 git push 被拒绝
- python - 如何在 Python 中找到已知值所需的 2 次幂