Laravel建站04--建立后台文章管理
路由配置
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--建立后台文章管理的更多相关文章
- Laravel建站03--建立前台文章列表和文章详情
经过了前面的开发环境搭建和数据库配置.git配置的准备工作以后,现在可以开始动作做点什么了. 先从简单的开始,那就先来个文章列表和详情页吧. 这期间可以学习到路由.建立model.controller ...
- PHPCMS v9在后台文章管理列表添加类别
进入PHPCMS v9后台—内容,进入PHPCMS的文章管理列表,要实现在文章标题前显示文章类别,就是可以直接在文章列表里看到类别,不需要点击进入编辑页面才可以看到,如下图: PHPCMS v9在后台 ...
- Laravel建站01--开发环境部署
内容导航 安装git 安装composer 安装Laravel 既然是开发环境,就需要源代码管理.这里使用git来管理. 一:部署开发环境之前安装git 在 Linux 上安装git 如果你想在 Li ...
- Laravel建站05--缓存、时间日期处理包
缓存 Laravel 给多种缓存系统提供丰富而统一的 API,缓存配置信息位于 config/cache.php,在这个文件中你可以为你的应用程序指定默认的缓存驱动,Laravel 支持当前流行的缓存 ...
- 潭州课堂25班:Ph201805201 django 项目 第三十六课 后台文章管理(课堂笔记)
get 请求, 1,获取文章标签 , 2,拿到前台传来的值, 3,根据前台传来的值在数据库中查询 4.,返回数据到前台,渲染, 分页算法 : 在 utils 下创建 paginator_script ...
- Laravel建站02--配置Laravel
Laravel项目的根目录下有.env文件,如果没有可以把.env.example改名为.env 这个文件是配置文件,可以把app_key.数据库.redis缓存等配置信息写在这个文件里. 目前5.4 ...
- PHPCMS快速建站系列之后台内容自定义修改
一.后台登录页面 背景图:\statics\images\admin_img 中的 login_bg.jpg 底部版权信息:\phpcms\languages\en 中的 system.lang.ph ...
- php之cms后台文章管理及显示
public function index(){ C('TOKEN_ON',false);//关闭表单令牌 读取配置 //查询指定id的栏目信息 $id=I('get.id');//类别ID $top ...
- 设置帝国cms文章标题 真正符合百度建站标准
百度建站指南中有提到内容页的标题设置,标题描述清晰最好包含主站和频道信息:内容标题_频道名称_网站名称.帝国cms文章标题一般默认是内容标题_网站名称,那么如何调用当前文章的频道名称(分类名称)呢? ...
随机推荐
- HDU——1215七夕节(因数和)
七夕节 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submis ...
- BZOJ 4817 [Sdoi2017]树点涂色 ——LCT 线段树
同BZOJ3779. SDOI出原题,还是弱化版的. 吃枣药丸 #include <map> #include <cmath> #include <queue> # ...
- bzoj 4009 接水果 整体二分
Description 先给出一些盘子, 用路径x-y表示, 有权值 再有Q个询问, 表示水果, 用路径x-y表示 如果盘子是水果的子路径, 可以接住 对于每个水果, 输出可以接住它的盘子的第k小权 ...
- 洛谷P1236 算24点
题目描述 几十年前全世界就流行一种数字游戏,至今仍有人乐此不疲.在中国我们把这种游戏称为“算24点”.您作为游戏者将得到4个1~9之间的自然数作为操作数,而您的任务是对这4个操作数进行适当的算术运算, ...
- 【POJ3321】Apple Tree(DFS序,树状数组)
题意:给一棵n个节点的树,每个节点开始有一个苹果,m次操作 1.将某个结点的苹果数异或 1 2.查询一棵子树内的苹果数 n,m<=100000 思路:最近一段时间在思考树上统计问题的算法 发 ...
- Spring Boot的web开发&静态资源配置方式
Web开发的自动配置类:org.springframework.boot.autoconfigure.web.WebMvcAutoConfiguration 1.1. 自动配置的ViewResolve ...
- mybatis动态sql片段与分页,排序,传参的使用与一对多映射与resultMap使用
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-/ ...
- 大视野 1016: [JSOI2008]最小生成树计数(最小生成树)
总结:此类题需要耐心观察规律,大胆猜想,然后证明猜想,得到有用的性质,然后解答. 简单的说:找隐含性质. 传送门:http://61.187.179.132/JudgeOnline/problem.p ...
- ZOJ 2619: Generator
类型:概率 + 解方程组(高斯消元法) + KMP(好吧其实我用的是暴力~)题意:你可以等概率的选择大写字母里的前n个字母,在纸上写啊写,一直到出现给定的字符串.问写的字母个数的期望.思路: 期望递推 ...
- Delphi GDI对象之脱屏位图(Offscreen Bitmaps),也叫内存位图
http://www.cnblogs.com/pchmonster/archive/2012/07/09/2583613.html 脱屏位图(Offscreen Bitmaps) 脱屏位图,也叫内存位 ...