使用RESTful控制器在Laravel中创建后端管理员/部分的最佳方法

时间:2014-04-26 19:10:52

标签: php laravel laravel-4

在Laravel中将管理逻辑与前端分开的最佳方法是什么?

我的问题是,我想将CRUD保留在一个控制器中。

例如,如果我有产品资源。我希望能够通过以下方式查看产品:http://my-shop.com/product-category/product/1但通过以下方式更新,创建和删除产品:http://my-shop.com/admin/product/new

这怎么可能?谢谢!

1 个答案:

答案 0 :(得分:2)

正如近距离投票所说,这是广泛的,但这里有一些开始的路线:

Route::get('{category}/product/{id}', 'ProductsController@show');

Route::get('admin/product/new', 'ProductsController@create')
Route::post('admin/product/new', 'ProductsController@store')
Route::patch('admin/product/{id}/update', 'ProductsController@update')
Route::delete('admin/product/{id}/delete', 'ProductsController@delete')

还有一个控制器:

class ProductsController extends Controller {

    public function show($category, $id)
    {

    }

    public function create()
    {

    }

    public function store()
    {

    }

    public function store($id)
    {

    }

    public function store($id)
    {

    }

}

当然你可以在两个不同的控制器中分离这些东西,因为在这种情况下,我们有管理员和非管理员由同一个控制器完成,但这完全取决于你。