Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php RESTful控制器在Laravel4中如何工作,如何正确使用它们?_Php_Laravel_Laravel 4 - Fatal编程技术网

Php RESTful控制器在Laravel4中如何工作,如何正确使用它们?

Php RESTful控制器在Laravel4中如何工作,如何正确使用它们?,php,laravel,laravel-4,Php,Laravel,Laravel 4,我是MVC的新手,这是我第一次在真实场景中使用它,我对控制器应该如何工作有点困惑 阅读了Laravel文档后,我得出结论,对于一般任务,如处理加载站点,不同的站点连接在一起,页面,管理等,我需要RESTful控制器 对于简单的任务,它起作用了。使用起来很简单,也很有趣。我的路线是这样的: Route::controller('admin', 'AdminController'); 我有这样的功能 public function getProduct($id) 它成功了。它用于获取特定的产

我是MVC的新手,这是我第一次在真实场景中使用它,我对控制器应该如何工作有点困惑

阅读了Laravel文档后,我得出结论,对于一般任务,如处理加载站点,不同的站点连接在一起,页面,管理等,我需要RESTful控制器

对于简单的任务,它起作用了。使用起来很简单,也很有趣。我的路线是这样的:

Route::controller('admin', 'AdminController'); 
我有这样的功能

public function getProduct($id) 
它成功了。它用于获取特定的产品:../admin/product/1

现在我想要更复杂的东西。像

../sites/loadsite/mysite/mypage/mysubpage/123?myoption=yes

我该怎么做?我如何开始,如何解决问题?我是否必须对每件事都使用Route::get,还是有更好的方法来实现这一点?

Laravel提供了资源控制器帮助程序,用于为相应的控制器方法生成RESTful路由:

您可以使用此选项轻松创建给定模型的标准休息路线,或者,如laravel.com上提供的示例所示,您可以仅限制某些路线。它们提供的表演示了给定的路径如何映射到给定的操作/控制器方法

关于您给出的示例url:../sites/loadsite/mysite/mypage/mysubpage/123?myoption=yes,我将把问题分成两部分,url和查询字符串:

关于URL/sites/loadsite/mysite/mypage/mysubpage/123。许多人认为这不是一条宁静的路线。与页面和子页面不同,您应该从模型的角度来思考,有时也应该从子模型的角度来思考。通常认为最佳做法是避免深度嵌套的路由,这通常意味着任何超过一层深度的东西:/model/{id}/submodel/[id]


关于url末尾的查询字符串:?myoption=yes:Laravel通过使用Input::getParam函数提供对查询字符串参数的访问。您不必在路由中指定查询字符串参数,只需在控制器方法中访问即可。

Laravel提供了资源控制器帮助程序,用于为相应的控制器方法生成RESTful路由:

您可以使用此选项轻松创建给定模型的标准休息路线,或者,如laravel.com上提供的示例所示,您可以仅限制某些路线。它们提供的表演示了给定的路径如何映射到给定的操作/控制器方法

关于您给出的示例url:../sites/loadsite/mysite/mypage/mysubpage/123?myoption=yes,我将把问题分成两部分,url和查询字符串:

关于URL/sites/loadsite/mysite/mypage/mysubpage/123。许多人认为这不是一条宁静的路线。与页面和子页面不同,您应该从模型的角度来思考,有时也应该从子模型的角度来思考。通常认为最佳做法是避免深度嵌套的路由,这通常意味着任何超过一层深度的东西:/model/{id}/submodel/[id]

关于url末尾的查询字符串:?myoption=yes:Laravel通过使用Input::getParam函数提供对查询字符串参数的访问。您不必在路由中指定查询字符串参数,只需在控制器方法中访问即可。

更好的方法是-当然,它可以与路由等组合使用

在资源控制器的方法中,您可以在示例的查询字符串中检索附加选项,并使用和任何您想要的方法处理它。

更好的方法是-当然,它可以与route和,例如,等组合使用

在资源控制器的方法中,您可以检索示例查询字符串中的附加选项,并使用和处理它