index.php?id=1 和 index.php/id/1 之间的区别
Posted
技术标签:
【中文标题】index.php?id=1 和 index.php/id/1 之间的区别【英文标题】:Difference Between index.php?id=1 and index.php/id/1 【发布时间】:2019-04-27 16:20:37 【问题描述】:-
如果我想创建 RESTful API,我应该选择哪一个?
作为 index.php/id/1 的 URL 是如何工作的?我认为这是一个文件路径,而不是 URL。
如果我想获取 abc.com/img/1.png 格式的图像,它可能与 abc.com/img/param 有冲突。我该如何解决?
顺便说一句,我现在使用 Laravel。
非常感谢。
【问题讨论】:
Laravel 使用 item/id 约定。看到这个laravel.com/docs/5.7/controllers#resource-controllers 【参考方案1】:区别在于路由模型绑定
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 ,它将获取图像,但我尚未对此进行测试。
【讨论】:
以上是关于index.php?id=1 和 index.php/id/1 之间的区别的主要内容,如果未能解决你的问题,请参考以下文章