2 F! D6 R# I9 R0 f. |/ `
$ g4 [( L0 h+ B" I2 i* ` i【课程简介】 E1 c5 J5 r: b, N$ y
Laravel是PHP工程化开发的趋势,本课程使用大量Laravel基础及高级组件,结合Mysql异步消息队列、ElasticSearch搜索引擎、Debugbar调试利器、Laravel性能优化等技术开发前后台完整的社交网站“简书”
. ]3 {. c! y& l) o2 l6 }( r9 w( w! l/ S/ E
【课程目录】
`2 I1 {1 `! V9 J" j第1章 课程介绍
: I- r7 d- m; @介绍课程的大体脉络和课程安排9 [. T8 V: \6 G- R- \9 f# h. j
1-1 课程概要介绍
, Z% [' _! e, |7 a& g0 p0 I/ v- f; D2 I
第2章 Laravel 5.4介绍6 w& K4 X: B* q
本节课会带领大家介绍laravel的各个版本历史以及讨论php框架的未来发展趋势。把laravel周边的生态环境一一展示。
0 m# l; ~8 E% o* _6 `* a2-1 Laravel 5.4介绍' x D7 J& L* p( O
2-2 Laravel 1.0~5.4 版本演进
6 `: O, w' L4 ]" D2 i2-3 Laravel的社区生态
5 P. ~# V, c9 ^! O2-4 与其他框架比Laravel的优势(上)* [/ }$ w& g- n: m6 z. _, W
2-5 与其他框架比Laravel的优势(下)
$ h; C! M6 D, p; w; f( D9 i
0 Y" {4 ]. j+ L$ C0 Z0 G- A第3章 安装启动Laravel项目3 M: b7 n2 z8 P9 k: k
本章介绍laravel是如何安装的,我们将使用composer工具对laravel进行安装。使用composer的时候,我们会修改下composer的镜像。不仅如此,我们还会在安装完成之后,带领大家一一介绍下laravel的目录结构和配置文件。让大家对laravel有个全局的了解。...9 \% {& R7 Y- C Q9 K6 ^& E
3-1 Laravel的安装环境
V8 Q% ^3 b2 K B% m3-2 PHPstorm + squelPro开发工具介绍0 e2 v" i9 D* n7 `2 l3 r
3-3 使用Composer安装Laravel 试看
8 N8 x" z1 C7 C* E' J3-4 启动Laravel6 y$ C1 h( A W- Y5 T# T
3-5 Laravel 目录结构介绍& M4 s; G$ |7 F& ]3 s ^
3-6 修改.env数据库配置文件
& D3 @' ~) d. N( v" \; _$ a8 ~. s7 ?' T3 W5 w
第4章 文章模块
9 c+ W0 @, }7 G% R* B; n本章介绍最核心的文章模块。这是我们这个项目最核心的一个模块。这个模块中会第一次用到路由,模版,数据迁移,数据填充,控制器,数据模型,tinker调试器等。在这个模块中,用到路由和模版搭建页面,并且使用数据迁移来搭建文章表,在做到分页逻辑的时候,我们使用数据填充往数据库中填充多条数据,并且基于ORM模型搭建mod...
- _/ o0 e/ X3 y3 G4-1 项目相关模块介绍% y4 k1 w0 n- o% J# s5 O" ] \
4-2 文章模块章节说明
7 l2 F3 N6 a! F w3 S: f/ G# J9 E4-3 Laravel路由的几种形式& T1 [3 d. k5 z: ]7 v
4-4 文章模块路由的实现
5 N. W4 R+ b' ]2 `% W! i4-5 blade模板渲染文章页面
& _( W4 S) i6 K. n4-6 Laravel的blade模版6 k7 m* K5 J% G7 n9 [4 w0 f
4-7 balde语法优化文章模版页面: Q' I& Y9 g$ a5 }
4-8 使用migration创建posts数据表
1 [. C/ n( v& {$ R/ P4-9 ORM创建文章模块模型
* A' F+ {) N D1 N3 X% M4-10 文章列表页的实现
" {4 l- i- X; M" r; ~. r8 b( Q9 ~6 O4-11 文章详情页的逻辑实现4 F. N! A/ c% F8 ~
4-12 csrf+富文本编辑器创建文章(上)& c9 F$ V$ N1 a. b0 t9 h) m
4-13 csrf+富文本编辑器创建文章(下)
8 _& w& |: S0 r. \& W* Y4-14 文章编辑的逻辑实现' U' O3 O' c% k y* F
4-15 使用模型完成删除文章操作
7 F0 {% N9 V: {+ n, H+ q4-16 章节重点总结
$ ~7 e7 @# K; W: B7 ^1 c- B' N' T2 `) a
第5章 Laravel核心思想7 Y2 w. Z( Q6 j5 B8 k/ m6 v
本章会介绍laravel的几大核心思想,容器、服务提供者、门脸。这些思想和概念是laravel中最难理解的,结合上一章我们的文章模块,我们对这些概念能有更深的理解。理解完概念之后,我们教大家技巧,如何查找laravel中的类包含有哪些方法。...) \% i; @ p2 U7 ]1 o9 X% q3 a
5-1 Larave核心思想之服务容器
+ s; I7 a7 c: ~* F0 V6 m# S5-2 Laravel的核心思想之服务提供者
5 [, h) m _( K! }: U& J; g5-3 Laravel的核心思想之门脸模式
) ~: N0 A3 L% Z* D- c3 H5-4 示例-分析Laravel核心日志类. o& x* c% |9 a$ z
5-5 技巧-如何查找门脸及注入类方法2 e5 x( N$ U/ y
- }% {/ i0 R9 W: N1 N
第6章 用户注册登录注册模块3 r! f5 G5 e- {, X9 X" _% O
本章将介绍laravel中的用户认证模块Auth的具体使用。我们使用Auth模块能很方便完成用户的登录,注册等功能。并且完成了用户认证之后,我们需要对用户权限进行管理,同样,我们是使用laravel的Auth组件来完成用户权限管理。对用户对文章和资源的增删改查的权限进行统一管理。...6 y0 i/ v- A/ y3 o. r
6-1 用户模块章节介绍
/ ?5 T& D3 [# s5 Q: K! h ?/ B" s6-2 使用路由和模版搭建登录注册页面
1 @. J$ A ?) H6-3 用户注册逻辑的实现(上)' R8 n8 h4 o& o3 X
6-4 用户注册逻辑的实现(下)( q( x6 C/ p [2 t( q
6-5 Auth门脸类的讲解及配置流程
1 {! G! t! l! I9 g6-6 使用Auth实现用户登录逻辑/ e3 g6 s/ e% [$ k$ ~& N& {* D0 _
6-7 策略类-policy用户授权
5 g# m, h! D* E. C4 ^6 D& D6-8 使用Policy实现文章权限控制, p! K! b+ `8 ? p% `/ l' j* A
6-9 文章路由控制的实现7 S- M7 G4 P/ s+ `; e7 n% o
6-10 个人设置页面上传头像功能实现
" g9 j. Y2 e; \& b5 G
+ I3 q( V- ` S. k2 Z( j: V第7章 评论模块, a, N7 [, ~* r1 s0 A
本章讨论评论系统,主要完成对文章的评论的展示和添加。在本章中,我们建立文章和评论模型之间的关联,使用这种关联来进行文章评论的关联展示。我们还需要建立评论和用户模型的关联。本章中我们第一次使用到了模型关联,也会带大家系统整理一下有哪些模型关联,如何使用。...
' c# K+ i# _9 s' X7-1 评论模块章节介绍, K' N2 e4 b1 J/ j" y, z$ O
7-2 migration创建评论表5 d6 |) s( C: D' f8 g0 c
7-3 介绍Laravel模型关联
& h6 V% N+ T" c3 s( D7-4 创建评论模型- u9 m& a8 J5 E; x9 t2 T: k
7-5 使用路由和模版搭建评论页面 O! e1 E4 h* @. [( P
7-6 添加评论业务逻辑的实现/ I3 j9 Z( Q" R: A
7-7 使用模型和模型关联实现评论列表页0 Y+ l* v, _3 S3 E) Z3 W
7-8 使用withCount实现评论数2 B( J( l( S* v& P% l) F
1 u1 `5 Y1 ?# b1 t; O1 Q
第8章 赞模块$ a/ U, v N; k' L. p5 {4 n
对一篇文章进行赞和取消赞是我们经常实现的一个功能。我们同样使用文章和文章表和赞表的关联模型来完成这个模块。在这个章节我们会看到ajax提交在laravel中的使用,以及如何在ajax中进行csrf保护。
% a X: ~0 x" _: c3 D# d P8-1 赞模块介绍
; T" o7 s6 ]% j. C4 O# W8-2 migration创建数据表
5 D9 [. Y! S) o0 M$ ]8-3 使用模型实现赞页面的逻辑的实现3 Z- {, r! e/ Q- ^, l' `
8-4 扩展withCount实现点赞数和评论数- `5 }. C4 o, p# B" ]
, f3 Y. O# H t1 H( I; y" t5 T第9章 搜索模块
$ j! _3 k& R( K) b; j7 ^- i本章着重将Laravel与elasticsearch进行结合进行文章搜索。首先,我们需要搭建并使用elasticsearch及它的中文分词插件然后我们会使用laravel的command命令开发一个创建elasticsearch索引的命令,接着我们使用laravel5.4的Scot组件,保持文章和搜索引擎中的文章索引同步。并且对文章进行关键词搜索,并且让搜索结果拥有分页功...
' p1 F2 k. L& V/ N' T, H7 C+ w9-1 搜索模块介绍
2 C+ L. C \ [2 P: U9-2 搜索模块的设计
2 s" W) D' Q q' \ k9-3 介绍elasticsearch及相关插件3 N1 S* ~- A" i
9-4 梳理实现搜索模块的具体步骤: Y. u+ x0 B+ f- P! \% n
9-5 elasticsearch的具体安装
0 z" j# X! Y" \9-6 Laravel的scout包安装及Laravel-es包安装) q, H+ |4 f; u* O, E
9-7 使用laravel的Command实现搜索引擎索引和模版的建立
1 s2 l! n' E L& m- E0 g9-8 关联模型并使用scout命令导入数据/ w* P1 p% h6 M0 @5 @
9-9 使用路由和模版搭建搜索结果页2 \4 s$ V3 a/ {3 f- r6 l
9-10 使用scout实现搜索结果展示及分页
" I5 c5 H; U+ Y, _- I8 A' b: k2 K5 w# e8 ~& }
第10章 个人中心模块
- u6 P6 {. W& I) u. w8 D本章内容将完成个人中心页面以及好友关注的功能。我们在这个模块中依赖创建的关系表完成多对多的模型关联,并且使用laravel的模型,对这些关联进行维护。% T+ d V' i$ z+ c) @" K' z. `
10-1 个人中心模块介绍
, C7 T- t5 I E1 i9 h; ]. \10-2 使用migration创建数据表和模型) H& J4 H& N( \6 K* b
10-3 实现多对多模型关联+ s+ z* D) M3 r2 I- k
10-4 使用路由和模版搭建个人中心页面- q& E$ o7 q; _; P0 C3 d/ ^
10-5 使用多对多模型实现个人中心逻辑(上)$ `4 Y% j" v2 i9 {7 F! n
10-6 使用多对多模型实现个人中心逻辑(下)% i7 U; W2 C: P. s4 Y; A
f0 P, }% N) T6 D3 s
第11章 专题模块
5 _* }; r7 O9 q( l& V# e9 H. {本章开发专题模块,以及文章对专题的投稿。本章的难点在于如何获取一个人未投某个专题的文章列表。: F9 ^8 @% L: f0 U u
11-1 专题模块介绍* R; Z5 o( A, U" e
11-2 使用migration创建数据表和模型5 z5 N6 s7 Q% R0 }
11-3 使用路由和模版搭建专题页面 试看
4 F5 ?0 V# U9 u, }5 z11-4 使用viewcomposer实现公共区域的专题列表
. L2 b9 Q# s; d9 q8 }8 g* H0 t11-5 介绍laravel中的scope
$ D% n' }/ Q9 E/ R, h; \# ]2 H8 j; c11-6 使用scope实现某个用户未投稿的文章5 A, B9 x- W( d
11-7 周边模型关联
9 c4 l# ^/ z# f3 L! p11-8 使用scope等完成专题详情页逻辑
3 X. y! U) S; ^0 { g' |11-9 使用模型操作完成专题的投稿操作
0 G8 W" k {* {# {9 V! ?4 [
7 l2 x+ n* _& \' D/ P O第12章 后台基础框架搭建( V4 t2 `+ M5 p" c7 E4 }2 S( s
本章着重使用基于bootstrap的Adminlte模版来搭建管理后台的基础框架,如何在laravel中使用这些网上现成的模版是本章的重点。前台和后台我们会放在一个项目中,如何在一个项目中包含前台和后台,MVC层和文件夹,配置文件,路由都需要如何设计,是这个章节需要解决的问题。...
: y; j6 l( a+ i' z" I1 h% ^12-1 管理后台章节介绍
' y; c5 B4 z7 ?4 D12-2 设计使用一份代码中包含前后台# v' a1 Q8 I8 T7 T3 v$ E/ _" t
12-3 前后台的模版区分. C+ J6 O0 ^" s. n K
12-4 adminlte模版皮肤介绍和嵌入8 |& g- V- \, f+ ?) ?: @
12-5 使用adminlte搭建管理后台登录页面
2 H7 A6 {0 M& @' u4 N4 q12-6 使用adminlte搭建管理后台首页3 f, g* z. p9 W4 p! {+ l" m
12-7 使用blade的layout抽取出管理后台页面公用部分# x; ?: [. l; o
12-8 后台表前缀和模型约定
. a2 w) B Q% W% g$ z8 ^12-9 使用Auth和guard搭建管理后台用户管理( H. D( Y% b3 o* }7 Z0 Y( ~4 V
12-10 使用Auth实现管理后台登录页面7 u+ C `" X" o' v4 R5 K
% }" L( y- d* G' K+ \9 ?$ [
第13章 管理人员模块" M' h0 _3 Z/ B+ S7 M+ }/ h% c
本章使用已经搭建的后台模版,来完成管理人员的增加,删除,修改,查找的页面。这个也是我们使用后台模版完成的第一个后台模块,在后台的路由使用和通用逻辑上面,我们会给出一个范例。3 G& v/ N# g+ s
13-1 管理模块简介
5 W1 `* `6 A3 P13-2 管理人员的列表和增加页面8 T5 P* H. f0 ^
13-3 -管理人员的列表和增加逻辑
2 K4 d5 n' t! l
2 h( v! @* f1 v& o- R第14章 审核模块
2 k K1 r F3 q/ b7 y% h" F9 P本章完成后台审核人员对文章的审核功能,虽然是一个后台项目,但是也是一个前后台相关联的模块,我们完成的是先发后审的机制,在laravel中,如何完成对应的文章审核逻辑,前台如何过滤审核未通过的文章,都是这个章节需要讨论的内容。...
1 J0 a- S M: t$ S$ b14-1 文章审核模块介绍
( l+ o' o+ @8 U) o8 X14-2 文章审核的需求分析
6 I. Q( t! X$ ]- \% w14-3 使用全局scope进行软删除模型
; o! b) V6 u" j: x- Y1 p14-4 完成文章审核模块页面
) q, x# f6 d0 P3 y; Y- W14-5 使用withoutGlobalScope来完成文章审核功能
" b I4 V5 i5 E q
. f% Z* B8 b: f第15章 权限模块
) K) Q1 b+ [1 }' g! d0 ]6 E; g本章重点在于带领大家完成后台的权限模块,我们同样也是使用laravel的Auth组件,另外完成了一套权限系统,我们会带领大家看下如何在一个项目中拥有两个权限控制系统,并且在路由中控制两个系统。接着,后台的左边栏菜单是根据不同权限,展示不同菜单。这个也是通过权限系统加左边栏的菜单组件来共同完成的。...5 z) ^3 P( n( [5 T
15-1 权限管理模块基本介绍
1 R3 e" F5 S5 o$ m+ ?15-2 分析用户角色权限模型
. g# [# |4 o' x7 q& g5 L6 F5 K6 d15-3 创建表和模型9 b7 t! o$ p$ \9 D" N
15-4 使用hasMany搭建模型关系 试看 \$ E4 w5 P$ }2 B) A& ?- t7 ?! u a# A
15-5 搭建路由和页面模版
& j( u6 a! P! i' S9 b15-6 逻辑实现-用户篇
x( y/ X. _: E" K# a15-7 逻辑实现-角色篇+权限篇+ t9 ^/ @4 V3 ~' ]1 z7 }% g X
15-8 逻辑实现-测试和数据添加
# m! h9 W) j: R( \4 ^; z5 B/ C9 |+ Y15-9 使用laravel的Gate实现权限管理(上)4 `' |4 @7 Z* l6 n. ?- T) r
15-10 使用laravel的Gate实现权限管理(下)
- {( L: z7 X+ w( T& Z( |+ r' j
; \7 L7 I" L% h" _第16章 专题管理模块
# P) T7 e8 `3 c- K; r2 k/ G5 P本章重点在于带领大家完成后台的专题模块管理。如何对前台的专题模块进行增删改查操作。& e5 @. o' [) F0 h
16-1 专题管理模块介绍
% ?, @' T+ w. M. q: T) i- x; z) w16-2 专题管理模块需求分析. G: q L" G. `* G: l. y2 H. V
16-3 Laravel的Resource介绍
2 q. a5 b5 t5 C16-4 使用Resource完成专题路由! p' c/ \8 ?( |0 f( S; R
16-5 专题管理模块完成
4 O0 b/ D: t: M8 A. h' _+ e: t l3 i" p) s/ N
第17章 系统通知模块0 e! z- L) C8 ?, w& u
本章使用laravel的队列来完成系统通知的异步发送。系统通知是群发或者多发功能,我们需要使用一个异步机制,laravel中如何使用数据库来完成异步队列,并且在队列中进行任务。 ?% ]& V' U4 g
17-1 通知管理模块介绍! D4 Y n6 U' e2 y
17-2 具体需求设计和分析
7 `- {0 U2 O5 C3 |7 M17-3 -创建表和模型! N" j. D$ q$ i& C/ Y6 q ?, a
17-4 使用resource完成后台页面和逻辑+ a/ e& ?" ^6 A5 x
17-5 完成前台页面和逻辑
2 J. x" D) I" Y5 U v2 P1 G17-6 Laravel中队列的介绍
( @1 e" K9 C b/ O17-7 使用Laravel的队列实现系统通知
- O k& ~( \6 ^) R0 z0 Y" M% p" q% u1 C; }5 V6 Z2 |% _
第18章 性能优化
5 m s C1 _' k$ W) y, y本章介绍laravel特定的一些性能优化方案。包括使用debugbar来查看页面效率,如何优化sql查询次数,如何使用路由缓存,配置缓存等来优化页面速度。* ?# x3 i7 ~% D( M' b
18-1 性能优化章节介绍1 \: K, |9 Y+ Q! f5 i+ J `' [
18-2 使用Laravel自带的优化命令优化
, j, J/ U# `9 r18-3 使用debugbar进行问题定位
( o5 `" N/ @/ _; |/ }2 r0 P; K2 ]18-4 使用预加载进行优化
- |& S8 e: B# z18-5 使用DB_listen进行慢sql的查询
; t2 E6 w9 s0 M; b
6 E* X( S: Y, u' I- _: [3 M【下载地址】
5 c& I' a* H- C+ S6 g5 K* N0 v* |; D+ T$ L/ q
$ A8 V/ j1 m L |
|