index.php?id = 1和index.php / id / 1之间的区别

时间:2018-11-26 02:30:45

标签: laravel rest url nginx laravel-routing

  1. 如果我想创建RESTful API,应该选择哪个?
  2. 作为index.php / id / 1的URL如何工作?我认为这是文件路径,而不是URL。
  3. 如果我要以abc.com/img/1.png的形式获取图像,则它可能与abc.com/img/{param}冲突。我该怎么解决?

顺便说一句,我现在使用Laravel。

非常感谢。

1 个答案:

答案 0 :(得分:0)

区别在于路由模型绑定

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,它将获取图像,但我尚未对此进行测试。