Symfony介绍
04分钟01秒安装运行环境并初始化Symfony项目
05分钟59秒使用Controller创建第一个页面
07分钟24秒Symfony处理http请求的流程
09分钟54秒http请求的query参数
09分钟33秒路径中的占位符-路由参数
05分钟57秒使用docker的mysql容器服务
04分钟58秒安装orm组件
04分钟09秒测试驱动开发(TDD)介绍
04分钟13秒创建第一个单元测试
09分钟10秒为文章添加评论功能添加Comment类
01分钟45秒为文章类和评论类添加关联关系
04分钟56秒PostFactory文章工厂
05分钟22秒优化PostFactory类
Mock替身
02分钟46秒使用Mock修复测试代码
使用命令行创建Entity类对应的数据库表
测试环境下使用数据库
02分钟31秒集成测试
继续修改集成测试代码
使用setUp方法在每个测试方法前清除数据库
04分钟36秒Repository类的4个查询方法
03分钟40秒Doctrine QueryBuilder对象介绍
11分钟27秒学说查询语言(DQL)
安装orm-fixtures组件
05分钟13秒使用EasyAdminBundle管理端
06分钟26秒配置PostCrudController创建文章管理页面
13分钟13秒配置CommentCrudController创建评论管理页面
03分钟04秒Twig模板引擎安装
01分钟36秒博客首页路由
03分钟52秒完成首页的controller方法
02分钟13秒Twig的基本用法并完成首页显示
03分钟32秒阅读PrestaShop源码,学习Symfony项目技巧
03分钟51秒修复页面问题
文章详情页
创建评论表单类CommentType
06分钟52秒处理评论表单数据提交
安装encore组件使用webpack
08分钟50秒html模板转换为twig模板
11分钟22秒评论表单的样式和评论列表的显示
使用功能测试测试评论表单的提交
06分钟18秒评论的嵌套单表一对多关系
03分钟52秒添加回复评论controller方法
FosJsRoutingBundle的使用
05分钟10秒处理回复评论表单的提交
08分钟47秒修复回复评论表单框的BUG
05分钟41秒评论的回复层级控制
05分钟27秒安装Panther使用真的浏览器进行测试
03分钟04秒编写Panther测试代码
09分钟55秒分页前的准备创建一些假的文章数据
创建一些假的评论数据
文章列表的分页
使用KnpPaginatorBundle对评论列表分页
页码器的国际化
使用Flash消息添加页面反馈
02分钟59秒添加文件上传FileManaged类
03分钟51秒JoinTable的方式实现单向一对多
03分钟46秒CollectionType和表单行模板的覆盖
06分钟38秒文件上传dom事件处理
04分钟48秒处理文件上传提交的数据
06分钟08秒修复回复评论表单框文件上传按钮BUG
05分钟14秒自定义文件上传表单类型
04分钟29秒表单的事件
06分钟17秒LiipImagineBundle评论图片的自动裁剪
04分钟08秒集成lightbox2库
03分钟11秒管理端评论列表显示图片
10分钟51秒Doctrine生命周期事件
01分钟35秒Post类的日期属性调整
05分钟48秒评论列表子评论post属性的显示
05分钟54秒修复父评论删除时子评论同时删除的问题
表单验证
自定义验证器
评论内容过滤
08分钟48秒自定义事件订阅器
事件处理的优先级和GenericEvent
06分钟08秒管理端删除评论后删除评论图片
管理端删除评论后删除评论图片
05分钟08秒使用Fixtures创建管理员用户
创建用户登录表单认证器
用户登录认证流程
05分钟46秒Remember me设置
02分钟52秒防止暴力登录破解
02分钟07秒用户检查器
08分钟38秒用户的授权
05分钟37秒管理端的权限验证
04分钟07秒Symfony内置的权限属性
角色继承
06分钟08秒管理端权限调整
07分钟46秒自定义Voter
优化管理端文章列表的按钮
03分钟55秒Voter的策略
管理端添加文章时自动设置作者
02分钟56秒国际化
02分钟29秒Flash消息的国际化
09分钟25秒twig的trans过滤器
03分钟25秒path路径中的_locale占位符参数
04分钟43秒工作流介绍
04分钟19秒定义文章发布工作流
05分钟52秒修改Post类的status属性
03分钟09秒修改管理端使用工作流
13分钟53秒工作流中的权限验证
05分钟59秒使用状态机定义评论的工作流
05分钟31秒安装mailer组件发送邮件
07分钟29秒安装messenger组件使用消息队列
05分钟16秒使用messenger同步发送邮件
02分钟05秒使用doctrine队列异步发送邮件
03分钟05秒邮件发送失败时队列的处理流程
06分钟13秒AMQP消息队列-RabbitMQ
04分钟00秒AMQP队列的额外知识
03分钟23秒了解REST API并安装Api Platform
03分钟17秒使用ApiResource注解创建文章API
03分钟39秒Jsonld响应格式
06分钟14秒修改API的操作
04分钟19秒规范化与非规范化
10分钟11秒关联关系数据的嵌套显示
09分钟06秒自定义Normalizer
07分钟21秒修复自定义Normalizer时IRI信息丢失的问题
10分钟37秒API资源过滤器
05分钟30秒自定义文件上传的操作
14分钟13秒项目优化打包发布到服务器上
05分钟21秒