管理控制器方法的位置


Location of admin controller methods

我正在构建一个Laravel 4应用程序,并试图找出我的管理控制器功能应该放在哪里。

例如我的管理员用户查看、编辑和更新功能。

以前在我的用户控制器中,我会有

function getIndex()
{ 
    // Get method for normal users
}
function getAdminIndex()
{
    // Get method for admin users
}

然后我会在路由/users->getIndex()和/admin/users->getAdminIndex()中有

然而,这是理想的吗?

原因是它使我的路由文件相当大,因为我必须指定每个路由。

对于博客文章和产品之类的东西,我应该有一个用于注销/用户访问的控制器,然后在管理文件夹中有一个单独的控制器,用于管理功能吗?

有没有一些开源项目我可以看看?

您应该将常规控制器与管理控制器分开。如何操作取决于个人喜好:您可以在controllers文件夹中创建文件夹,也可以创建几乎独立的模块,并单独使用控制器。

对于第一个选项,请看一下这个项目:

  • https://github.com/andrew13/Laravel-4-Bootstrap-Starter-Site

第二个有点复杂,你可以从Ryan Tablada的这篇文章中获得灵感:

  • http://ryantablada.com/post/juggling-larger-laravel-applications

如果项目是中型/大型项目,我个人更喜欢最后一个,如果是小型项目,我更喜欢另一个。

您也可以尝试Laravella,一个适用于Laravel的CMS、CRUD、Bootstrap、Uploader等框架。

https://github.com/laravella/laravella/releases

如果您的项目很小,那么您可以使用资源控制器。