Php 在laravel上具有不同返回视图的相同函数

Php 在laravel上具有不同返回视图的相同函数,php,laravel,laravel-3,Php,Laravel,Laravel 3,我是拉雷维尔的新手,我正在做以下工作,但我想知道是否有更好的方法来做 两者都做相同的事情,但返回到不同的视图 /** *显示资源的列表。 * *@返回响应 */ 公共职能指数() { //得到所有的服务 $特许经营=特许经营::全部(); //加载视图并传递服务 返回视图::make('特许经营权.index')->带有('特许经营权',$特许经营权); } /** *显示资源的列表。 * *@返回响应 */ 公共功能索引wo() { //得到所有的服务 $特许经营=特许经营::全部(); //

我是拉雷维尔的新手,我正在做以下工作,但我想知道是否有更好的方法来做

两者都做相同的事情,但返回到不同的视图

/**
*显示资源的列表。
*
*@返回响应
*/
公共职能指数()
{
//得到所有的服务
$特许经营=特许经营::全部();
//加载视图并传递服务
返回视图::make('特许经营权.index')->带有('特许经营权',$特许经营权);
}
/**
*显示资源的列表。
*
*@返回响应
*/
公共功能索引wo()
{
//得到所有的服务
$特许经营=特许经营::全部();
//加载视图并传递服务
返回视图::make('admin.usertemplate')->带有('特许经营权',$特许经营权);
}   
这是我的route.php

Route::get('admin/logout', array('as' => 'admin.logout', 'before' => 'user', 'uses' => 'AuthController@getLogout'));
Route::get('admin/login', array('as' => 'admin.login', 'before' => 'is_guest', 'uses' => 'AuthController@getLogin'));
Route::post('admin/login', array('as' => 'admin.login.post', 'before' => 'is_guest', 'uses' => 'AuthController@postLogin'));


//---- Backedn Index
Route::get('admin',array('as'=>'index','uses'=>'BackendController@getIndex'));

您的示例表示两个控制器方法。单独而言,它们什么都不做。它们取决于路线(未提供)和车型(特许经营权)

这可以通过多种方式进行改进,具体取决于您的域逻辑层设计

例如,您可以这样做:

return View::make("franchises.index",compact("franchises"));
或者这个:

return View::make("franchises.index",["franchise"=>$franchises]);
但这都是同一事物的变异。此外,还可以通过应用repository模式进行改进,该模式在处理数据库时为您提供了更大的灵活性。i、 e.不依赖于一个ORM(雄辩)

正如我所悲伤的,一切都取决于你的目标。控制器只是一扇通向您的领域逻辑的门

更新到您的更新:

您可以在一个控制器中对路由进行分组:

Route::resource("admin","AdminController");

请从拉威尔3号移动

还有,你真的被3卡住了吗?@JosephSilber我添加了route.php供你查看,是的,我被卡住了。实际上你可以看到it@Monica,不太清楚你想做什么?我觉得我要发疯了,想知道这是怎么回事。如果在两个不同的视图中使用获得所有特许权的相同功能,我可以通过使用routes来管理它?Monica,如果你想使用这个很棒的框架,请花点时间观看一些教程和阅读一些书籍。Laravel在内部实现了高级体系结构。为了使用它,您必须深入研究各个领域——从HTTP协议到MVC和面向服务的体系结构。当然,如果你想成为拉威尔大师,谢谢!我已经买了一本书,我一直在看教程,但找不到解决这个问题的方法。我认为View composer可以工作。我刚找到它。视图生成器是模型和视图之间的直接关系。视图是直接渲染的,值得检查。祝你好运