Laravel 管理区

Laravel admin area

正在为所有未来项目制作一个基本模板,并决定使用 Laravel。

目的只是为我以后做的任何网站(基本博客、管理区+用户登录系统)创建一个起点。

我正在学习有关 CRUD 基础知识的教程,并制作了一个简单的博客管理应用程序。不过我想把它放到/admin 区。

之前,我的路线中有这个:

Route::resource('blog', 'BlogController');

这让我可以简单地在域上使用我的 BlogController 中的功能。com/blog URL。

一切正常,但我想将其隐藏在管理区域后面。我以为我可以将包含我所有博客视图的博客文件夹移动到管理文件夹中,但遇到路由未定义错误。

视图文件夹是:

- Views

  - admin

    - blog
      - edit.blade.php
      - index.blade.php
      - new.blade.php
      - show.blade.php

  - home.blade.php

以前,我的博客文件夹只是在 views 文件夹中。我需要更改什么才能让域。com/admin/blog 像以前一样工作?

使用Laravel 4.2

您可以将控制器分组到管理文件夹中,这样管理文件会容易得多。

Laravel 5 例子

routes.php

Route::group(array('namespace' => 'admin', 'prefix' => 'admin'), function() {
  Route::resource('blog', 'BlogController');
});

然后您可以在管理文件夹

中创建BlogController.php
/app/Http/Controllers/admin/BlogController.php

BlogController.php文件的例子

<?php namespace App\Http\Controllers\Admin;

use App\Http\Controllers\Controller;

class BlogController extends Controller {

  public function index()
  {
    echo "admin/blog/index";
  }
}

然后你可以调用http://localhost:8000/admin/blog

Laravel 4 例子

routes.php

Route::group(array('namespace' => 'admin', 'prefix' => 'admin'), function() {
  Route::resource('blog', 'BlogController');
});

然后您可以在管理文件夹

中创建BlogController.php
/app/controllers/admin/BlogController.php

BlogController.php文件的例子

<?php namespace Admin;

class BlogController extends \BaseController {

  public function index()
  {
    echo "admin/blog/index";
  }
}

然后你可以调用http://localhost:8000/admin/blog