路由配置

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. POJ 2051 Argus

    Argus Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 8782   Accepted: 3985 Description ...

  2. 读《深入浅出Mysql》第二版,笔记

    买了本书,同时网上找了电子版 (My)SQL入门 DDL(Data Definition Languages) ||DESCRIBE tablename; DML(Data manipulation ...

  3. iOS--------对堆、栈 存储空间的理解

    Objective-C的对象在内存中是以堆的方式分配空间的,并且堆内存是由你释放的,即release 栈由编译器管理自动释放的,在方法中(函数体)定义的变量通常是在栈内,因此如果你的变量要跨函数的话就 ...

  4. 【Luogu】P3224永无乡(splay)

    题目链接 splay模板,启发式合并(其实就是暴力插入)即可. 顺便吐槽时限,带垃圾回收而已……不至于最后一个点死活不让过吧? #include<cstdio> #include<c ...

  5. 【Luogu】P2515软件安装(树形DP)

    题目链接 这么水的题我一遍没A,而且前两次提交都只有十分.气死我了.本来我的博客拒收水题来着. Tarjan缩点之后跑树形DP即可. #include<cstdio> #include&l ...

  6. Wireshark 安装及开始抓包中出现的问题

    前两天装了Wireshark,这次安装遇到了之前没遇到的问题,所以就写出来大家参考下 安装Wireshark时需要安装集成在安装包中的winpcap[winpcap(windows packet ca ...

  7. idea部署项目到远程tomcat

    之前做项目,一直都是把本地的源码上传到svn,服务器是通过ant或者maven脚本来编译的生成项目的.每次都要单独登录接服务器进行项目的部署和发布,感觉特别繁琐.(特别是在有几套服务器的情况下,简直就 ...

  8. bzoj 1196 公路修建问题

    bzoj 1196: [HNOI2006]公路修建问题 Description OI island是一个非常漂亮的岛屿,自开发以来,到这儿来旅游的人很多.然而,由于该岛屿刚刚开发不久,所以那里的交通情 ...

  9. net5:Theme主题样式的动态变换,在内容页content中操作影响模板页的操作

    原文发布时间为:2008-07-29 -- 来源于本人的百度文章 [由搬家工具导入] using System;using System.Data;using System.Configuration ...

  10. Codeforces Gym101502 B.Linear Algebra Test-STL(map)

    B. Linear Algebra Test   time limit per test 3.0 s memory limit per test 256 MB input standard input ...