路由配置

Route::group(['middleware' => 'auth', 'namespace' => 'Admin', 'prefix' => 'admin'], function() {

Route::get('/', 'HomeController@index'); // 匹配包含 "/admin/" 的 URL
Route::resource('article', 'ArticleController');// 匹配包含 "/admin/article" 的 URL
Route::post('/upload', 'UploadController@index');// 匹配包含 "/admin/upload" 的 URL
});

路由组 允许共享路由属性,例如中间件和命名空间等,我们没有必要为每个路由单独设置共有属性,共有属性会以数组的形式放到 Route::group 方法的第一个参数中。

中间件('middleware' => 'auth'),验证用户是否登录。

命名空间 ('namespace' => 'Admin') ,指定组内所有控制器公共的 PHP命名空间。

路由前缀 ('prefix' => 'admin'),可以给每个路由组中的路由加上指定的 URI 前缀。这里我们给路由组中所有的 URI 加上路由前缀 admin 。

资源路由 (Route::resource), 可以匹配一组URI。匹配的详情如下。

动作 URI 操作 路由名称
GET /article index article.index
GET /article/create create article.create
POST /article store article.store
GET /article/{article} show article.show
GET /article/{article}/edit edit article.edit
PUT/PATCH /article/{article} update article.update
DELETE /article/{article} destroy article.destroy

controller

php artisan make:controller Admin/HomeController
php artisan make:controller Admin/UploadController
php artisan make:controller Admin/ArticleController

执行以上三条命令,建立后台使用的controller。第一个是后台首页,第二个是处理上传,最后一个是管理文章。

在ArticleController里需要建立与资源路由匹配的各种方法才能实现资源路由的各种功能。

public function index()
{
$articles = DB::table('articles')
->select('id', 'body', 'title')
->orderBy('id', 'desc')
->paginate(5);
return view('admin/article/index', ['articles' => $articles]);
}

以上是文章列表功能,这里指定了表名、列、排序和分页。然后取出的数据放到view里显示。

这里集成了七牛实现上传到云的功能。

执行以下命令可以安装七牛PHP的SDK

composer require qiniu/php-sdk

把从七牛申请的密钥写在.env里,然后controller里可以用env函数来读取。这样可以保证发布的版本不会泄露自己的重要信息。


view

在resources/views 目录下建立admin目录,然后建立home.blade.php,用来显示后台首页。然后admin目录下建立article子目录,并在其中建立create.blade.php 、edit.blade.php 、index.blade.php 三个文件。用来实现新建文章、编辑文章和文章列表。

要点:

  • 前台显示文章正文有两种方法:{!! $article->body !!} 和 {{  $article->body  }},前面的可以原样输出正文的HTML,而后面的会把HTML转义,从而在浏览器前台输出HTML代码,而不是让浏览器解析HTML。
  • ajax提交图片上传时,一定要在header中附加上X-CSRF-TOKEN,否则后台如果没收到的话,会报错。写法参考:'X-CSRF-TOKEN': '{{ csrf_token() }}'

挑选了各环节的一些要点写出来在博客中,源代码可以在我的GitHub上获取到。欢迎交流。

Laravel建站04--建立后台文章管理的更多相关文章

  1. Laravel建站03--建立前台文章列表和文章详情

    经过了前面的开发环境搭建和数据库配置.git配置的准备工作以后,现在可以开始动作做点什么了. 先从简单的开始,那就先来个文章列表和详情页吧. 这期间可以学习到路由.建立model.controller ...

  2. PHPCMS v9在后台文章管理列表添加类别

    进入PHPCMS v9后台—内容,进入PHPCMS的文章管理列表,要实现在文章标题前显示文章类别,就是可以直接在文章列表里看到类别,不需要点击进入编辑页面才可以看到,如下图: PHPCMS v9在后台 ...

  3. Laravel建站01--开发环境部署

    内容导航 安装git 安装composer 安装Laravel 既然是开发环境,就需要源代码管理.这里使用git来管理. 一:部署开发环境之前安装git 在 Linux 上安装git 如果你想在 Li ...

  4. Laravel建站05--缓存、时间日期处理包

    缓存 Laravel 给多种缓存系统提供丰富而统一的 API,缓存配置信息位于 config/cache.php,在这个文件中你可以为你的应用程序指定默认的缓存驱动,Laravel 支持当前流行的缓存 ...

  5. 潭州课堂25班:Ph201805201 django 项目 第三十六课 后台文章管理(课堂笔记)

    get 请求, 1,获取文章标签 , 2,拿到前台传来的值, 3,根据前台传来的值在数据库中查询 4.,返回数据到前台,渲染, 分页算法 : 在 utils 下创建  paginator_script ...

  6. Laravel建站02--配置Laravel

    Laravel项目的根目录下有.env文件,如果没有可以把.env.example改名为.env 这个文件是配置文件,可以把app_key.数据库.redis缓存等配置信息写在这个文件里. 目前5.4 ...

  7. PHPCMS快速建站系列之后台内容自定义修改

    一.后台登录页面 背景图:\statics\images\admin_img 中的 login_bg.jpg 底部版权信息:\phpcms\languages\en 中的 system.lang.ph ...

  8. php之cms后台文章管理及显示

    public function index(){ C('TOKEN_ON',false);//关闭表单令牌 读取配置 //查询指定id的栏目信息 $id=I('get.id');//类别ID $top ...

  9. 设置帝国cms文章标题 真正符合百度建站标准

    百度建站指南中有提到内容页的标题设置,标题描述清晰最好包含主站和频道信息:内容标题_频道名称_网站名称.帝国cms文章标题一般默认是内容标题_网站名称,那么如何调用当前文章的频道名称(分类名称)呢? ...

随机推荐

  1. BZOJ 4552 [Tjoi2016&Heoi2016]排序 ——线段树 二分答案

    听说是BC原题. 好题,二分答案变成01序列,就可以方便的用线段树维护了. 然后就是区间查询和覆盖了. #include <map> #include <cmath> #inc ...

  2. WPF,布局,Menu,MenuItem,DockPanel,Grid,DockPanel.Dock='',ToolBar,Content,Image,Uri

    布局相关: Grid as title Binding Path="", Mode= TwoWay, model should implement IPropertyChanged ...

  3. unix网络编程第2章

    time_wait状态  可靠地实现tcp全双工连接的终止; (假设客户端先关闭).服务端再关闭,服务端将发送fin ,客户端此时进入time_wait状态.客户端接收到fin.将回一个ack.如果这 ...

  4. linux之Deamon进程创建及其进程exit,_exit,return之间的区别

    Dameon进程又被称做守护进程,一般来说他有以下2个特点: 1.生命周期非常长,一旦启动,一般不会终止,直到系统推出,不过dameon进程可以通过stop或者发送信号将其杀死 2.在后台执行,不跟任 ...

  5. 系统虚拟内存的理解 转载自http://blog.csdn.net/do2jiang/article/details/4690967

    在进入正题前先来谈谈操作系统内存管理机制的发展历程,了解这些有利于我们更好的理解目前操作系统的内存管理机制. 一 早期的内存分配机制 在 早期的计算机中,要运行一个程序,会把这些程序全都装入内存,程序 ...

  6. Charger Battery Warning Message 的 改善

    今天與人聊到有關 charger battery safety 的 warning message, 認為說 warning message 真的有起到 保護 user 的作用? 譬如: batter ...

  7. PhpStorm配置svn:Can't use Subversion command line client:svn

    Can't use Subversion command line client:svn 感谢: 萌芽的绿豆的文章:https://www.cnblogs.com/yuanchaoyong/p/616 ...

  8. UPC 2223: A-Number and B-Number(数位DP+二分)

    积累点: 1: (l&r)+((l^r)>>) == (l+r)/2 2: 注意判断现在是否有限制.当枚举下一个量时,是(isQuery && j==end),不要 ...

  9. MinGW 使用和创建 DLL 应注意的问题

    MinGW 是 GCC 的 Windows 版本,稳定版已经到了 4.5.2,功能和性能上很好,感觉不比 Microsoft 自家的 VC 差啊.但是 MinGW 下使用和创建 DLL 倒是要特别注意 ...

  10. java 正则表达式-忽略大小写与多行匹配

    Pattern.compile("'.*?'", Pattern.CASE_INSENSITIVE | Pattern.DOTALL);