php - 在子文件夹中定义 Laravel 5 路由并通过 Controller 显示它

标签 php laravel routes laravel-5.2 laravel-routing

我有 Laravel 5.2.45 应用程序。 我有这样的 Controller 结构:

App
    Http
        Controllers
            Admin
                AdminController.php

在 AdminController.php 里面我有

namespace App\Http\Controllers\Admin;

use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Http\Requests;

class AdminController extends Controller 
{

/**
 * Create a new controller instance.
 *
 * @return void
 */
public function __construct() 
{
    $this->middleware('auth');
    $this->middleware('is.admin');
}

public function index()
{
    return view('admin.home');
}

}

我有这样的 View 文件夹结构:

views
    admin
        home.blade.php

在我的 routes.php 里面有

Route::get('/admin/home', 'Admin\AdminController@index');

所以当我输入 .../admin/home 浏览器时,我试图得到它,在 admin 文件夹中显示 home.blade.php。

我的 routes.php:

Route::auth();

Route::get('/', 'FrontController@index');

Route::get('/home', 'FrontController@index');

Route::get('/add_user', 'FrontController@user');

Route::group(['prefix', 'admin', 'namespace' => 'Admin'], function() {
    Route::get('home', 'AdminController@index');
});

最佳答案

您的路由定义 中缺少前缀。将其更正为如下所示:

<?php
   Route::group(['prefix' => 'admin', 'namespace' => 'Admin'], function() {
       Route::get('/home', 'AdminController@index');
   });

Now, try base_url/admin/home in your browser and it should work.

关于php - 在子文件夹中定义 Laravel 5 路由并通过 Controller 显示它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39364513/

相关文章:

php - 检测 PHP 解析多维 POST 数据期间的错误

php - getElementById 有时为 null。已经尝试过 .onload 和 .ready

laravel BelongsTo 与不同数据库的关系不起作用

ruby-on-rails - 在 Rails 2.3 中使用 Rails 3 中的自定义参数匹配路由时出错

angular - 子路线最初未以 Angular 加载

.net - 从 VB.NET 应用程序将文件发送到 PHP 脚本

php - 将值varchar转换为mysql中的其他数据类型?

php - 未定义的属性 : > stdClass error when using date type column on Laravel. 我该如何解决?

php - 如何批量分配 laravel fillable

asp.net-mvc-2 - 将用户从 SEO 之类的 url 重定向到 ASP.NET MVC 2 中的 Controller 操作