Laravel 管理区域

Lov*_*ock 1 php admin laravel laravel-4 laravel-routing

正在为所有未来项目开发基本模板,并决定使用 Laravel。

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

我按照有关 CRUD 基础知识的教程制作了一个简单的博客管理应用程序。不过我希望将其放入 /admin 区域。

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

Route::resource('blog', 'BlogController');
Run Code Online (Sandbox Code Playgroud)

这样我就可以简单地在domain.com/blog URL 上使用我的BlogController 中的功能。

这一切都有效,但我想将其隐藏在管理区域后面。我想我可以将包含所有博客视图的博客文件夹移动到管理文件夹中,但会出现“路线未定义”错误。

视图文件夹是:

- Views

  - admin

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

  - home.blade.php
Run Code Online (Sandbox Code Playgroud)

以前,我的博客文件夹只是位于视图文件夹本身中。我需要更改什么才能使domain.com/admin/blog 与以前一样工作?

使用 Laravel 4.2

min*_*noz 5

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

Laravel 5 示例

路线.php

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

然后你可以在admin文件夹中创建BlogController.php

/app/Http/Controllers/admin/BlogController.php
Run Code Online (Sandbox Code Playgroud)

BlogController.php文件的示例

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

use App\Http\Controllers\Controller;

class BlogController extends Controller {

  public function index()
  {
    echo "admin/blog/index";
  }
}
Run Code Online (Sandbox Code Playgroud)

然后你可以打电话http://localhost:8000/admin/blog

Laravel 4 示例

路线.php

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

然后你可以在admin文件夹中创建BlogController.php

/app/controllers/admin/BlogController.php
Run Code Online (Sandbox Code Playgroud)

BlogController.php文件的示例

<?php namespace Admin;

class BlogController extends \BaseController {

  public function index()
  {
    echo "admin/blog/index";
  }
}
Run Code Online (Sandbox Code Playgroud)

然后你可以打电话http://localhost:8000/admin/blog