【问题标题】:Laravel admin areaLaravel 管理区
【发布时间】:2015-05-06 13:50:57
【问题描述】:

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

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

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

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

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

这让我可以在 domain.com/blog URL 上简单地使用我的 BlogController 中的函数。

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

views 文件夹是:

- Views

  - admin

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

  - home.blade.php

以前,我的博客文件夹只是在视图文件夹本身中。我需要进行哪些更改才能让 domain.com/admin/blog 像以前一样工作?

使用 Laravel 4.2

【问题讨论】:

  • 你使用的是 Laravel 4 还是 5?
  • 4.2,添加到问题中。一直忘记 5 出来了……
  • 不用担心。它是最近才出来的。它只是有助于澄清答案:)

标签: php laravel laravel-4 admin laravel-routing


【解决方案1】:

您可以将控制器组合在一起放在管理文件夹中,这样管理文件会容易得多。

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

【讨论】:

  • @DesignerGuy 非常感谢,这在英语和编码方面都好多了。
  • 谢谢 我试试这个。
  • 我认为 laravel 4 与这个答案的主要区别在于与命名空间相关的代码和更改。
猜你喜欢
  • 2017-01-08
  • 1970-01-01
  • 1970-01-01
  • 2017-03-19
  • 2019-12-20
  • 2017-01-26
  • 2012-09-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多