【发布时间】:2015-05-08 07:41:57
【问题描述】:
我正在根据教程制作一个基本的 CRUD 应用程序,但我意识到我想将这个功能隐藏在一个管理文件夹中。
该功能是一个博客管理系统(索引、创建、显示、删除等),所有这些都从 domain.com/blog 运行。
从那时起,我建立了一个用户系统和一个受保护的管理区域,因此决定将视图文件移动到管理文件夹中。
为了应对这种变化,我在这里询问并被指示将我的资源路由包装在此:
Route::group(array('before' => 'is_admin', 'namespace' => 'admin', 'prefix' => 'admin'), function()
Route::resource('blog', 'BlogController');
});
然后将我的 BlogController 移动到我的控制器文件夹中的管理文件夹中,然后将命名空间添加到该控制器:
namespace Admin;
并在 BaseController 之前添加一个反斜杠。
这里的这一行:
return View::make('admin/blog.index', compact('blogs'));
导致错误,所以我不得不在 View:: 之前添加一个反斜杠:
return \View::make('admin/blog.index', compact('blogs'));
我如何不必对所有课程都这样做?
然后一旦没问题,我的索引文件包含:
{{ link_to_route('blog.create', 'Add new blog') }}
返回未定义的路由错误...我哪里出错了?资源路线应该肯定会赶上这些路线等吗?似乎需要做很多工作才能让 BlogController 在管理目录中工作......
【问题讨论】:
标签: php laravel laravel-4 namespaces