Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.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 这就是3型REST/CRUD路线的外观吗?我的路线安排太多了吗?e、 g.“/user/8/lesson/71/hotspot/893/edit”_Php_Laravel_Laravel 4 - Fatal编程技术网

Php 这就是3型REST/CRUD路线的外观吗?我的路线安排太多了吗?e、 g.“/user/8/lesson/71/hotspot/893/edit”

Php 这就是3型REST/CRUD路线的外观吗?我的路线安排太多了吗?e、 g.“/user/8/lesson/71/hotspot/893/edit”,php,laravel,laravel-4,Php,Laravel,Laravel 4,我有3个模型:用户、课程和热点。课程拥有许多热点,用户拥有许多课程。将来,我可能会允许用户访问其他用户的课程,但这是我稍后将做出的决定。因此,要创建新用户,我转到/user/create。要创建新课程,请转到/user/1/create。要创建新的热点,请转到/user/1/lesson/1/hotspot/create。当我创建一个新热点时,在我的热点控制器中,我必须问用户是否拥有这个热点?这节课有这个吗?对于每一个CRUD操作,这意味着我的热点控制器必须了解一些关于用户和课程的信息,这感觉不

我有3个模型:用户、课程和热点。课程拥有许多热点,用户拥有许多课程。将来,我可能会允许用户访问其他用户的课程,但这是我稍后将做出的决定。因此,要创建新用户,我转到/user/create。要创建新课程,请转到/user/1/create。要创建新的热点,请转到/user/1/lesson/1/hotspot/create。当我创建一个新热点时,在我的热点控制器中,我必须问用户是否拥有这个热点?这节课有这个吗?对于每一个CRUD操作,这意味着我的热点控制器必须了解一些关于用户和课程的信息,这感觉不太对

我这样做是正确的,还是错误的

以下是我的路线说明:uid==用户id,lid==课程id,hid==热点id

// User CRUD routes
Route::get('/user', 'UserController@index');
Route::get('/user/create', 'UserController@create');
Route::post('/user/create', 'UserController@store');
Route::get('/user/{uid}', 'UserController@show');
Route::get('/user/{uid}/edit', 'UserController@edit');
Route::post('/user/{uid}/edit', 'UserController@update');
Route::post('/user/edit', 'UserController@update');
Route::post('/user/{uid}/delete', 'UserController@destroy');
// Lesson CRUD routes
Route::get('/user/{uid}/lesson/', 'LessonController@index');
Route::get('/user/{uid}/lesson/create', 'LessonController@create');
Route::post('/user/{uid}/lesson/create', 'LessonController@store');
Route::get('/user/{uid}/lesson/{lid}', 'LessonController@show');
Route::get('/user/{uid}/lesson/{lid}/edit', 'LessonController@edit');
Route::post('/user/{uid}/lesson/{lid}/edit', 'LessonController@update');
Route::post('/user/{uid}/lesson/edit', 'LessonController@update');
Route::post('/user/{uid}/lesson/{lid}/delete', 'LessonController@destroy');
// Lesson CRUD routes
Route::get('/user/{uid}/lesson/{lid}/hotspot', 'HotspotController@index');
Route::get('/user/{uid}/lesson/{lid}/hotspot/create', 'HotspotController@create');
Route::post('/user/{uid}/lesson/{lid}/hotspot/create', 'HotspotController@store');
Route::get('/user/{uid}/lesson/{lid}/hotspot/{hid}', 'HotspotController@show');
Route::get('/user/{uid}/lesson/{lid}/hotspot/{hid}/edit', 'HotspotController@edit');
Route::post('/user/{uid}/lesson/{lid}/hotspot/{hid}/edit', 'HotspotController@update');
Route::post('/user/{uid}/lesson/{lid}/hotspot/{hid}/edit', 'HotspotController@update');
Route::post('/user/{uid}/lesson/{lid}/hotspot/{hid}/delete', 'HotspotController@destroy');

假设您正在构建某种API


请记住,您实际上不需要在任何地方创建、编辑和删除部件:所有这些都可以通过使用适当的HTTP方法来解决。

假设您正在构建某种API

请记住,您实际上不需要在任何地方创建、编辑和删除部件:所有这些都可以通过使用适当的HTTP方法来解决。

使用nester资源

路线::资源'user.lesson',LessonController'

你可以想走多远就走多远。

使用nester资源

路线::资源'user.lesson',LessonController'


你可以随心所欲地深入。

所以你的意思是我应该使用我建议的URL模式,但我需要重新调整HTTP动词词?@AndrewAllbright如果你正在构建的是REST API,那么你实际上不需要GET/user/{uid}/edit路由。相反,您需要一个POST/users/来创建,DELETE/users/{uid}来删除,等等。我可以修复我的RESTAPI。。。url模式呢?好吗?编辑:这是固定RESTAPI//User CRUD fixed Route::post'/User/';//创建路由::获取“/user/{uid}”;//读取路由::放置“/user/{uid}”;//更新路由::删除“/user/{uid}”;//所以你的意思是我应该使用我建议的URL模式,但我需要重新调整HTTP动词词?@AndrewAllbright如果你正在构建的是REST API,那么你实际上不需要GET/user/{uid}/edit路由。相反,您需要一个POST/users/来创建,DELETE/users/{uid}来删除,等等。我可以修复我的RESTAPI。。。url模式呢?好吗?编辑:这是固定RESTAPI//User CRUD fixed Route::post'/User/';//创建路由::获取“/user/{uid}”;//读取路由::放置“/user/{uid}”;//更新路由::删除“/user/{uid}”;//删去我可能有问题-如果有,我会发回。这看起来可能就是我想要的-如果是的话,我会接受的。哥们!真漂亮!路由::资源“用户”、“用户控制器”;路由::资源'user.lesson','LessonController';路由::资源“用户.课程.热点”,“热点控制器”;非常强大嘿:-。我可能有问题-如果有,我会发回。这看起来可能就是我想要的-如果是的话,我会接受的。哥们!真漂亮!路由::资源“用户”、“用户控制器”;路由::资源'user.lesson','LessonController';路由::资源“用户.课程.热点”,“热点控制器”;非常强大嘿:-