yishui01 / Laravel2

论坛系统

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

laravel-china第二个项目---larbbs论坛系统

本项目是按照laravel-china教程02编写,主要用于练习laravel框架

线上demo:http://king.wuxxin.com/

项目功能

  • 用户:登录/注册、更新资料、发布话题、发表回复
  • 管理员:除了普通用户的功能外,可以进入后台对内容进行管理,但不可以对用户进行删除操作
  • 站长:内容管理、用户管理,站点信息管理

总结

论坛的基本功能已经都具有了,同时也学到了一些新的东西

1、实用的composer包的使用方法

  • htmlpurifier过滤xss
  • laravel-permisson构建后台权限系统
  • horizon队列监控

2、使用redis将发送邮件进行队列操作,入队,监听,出队,出队失败时记录到mysql

3、调用百度翻译接口将话题标题翻译为英文

4、手动创建artisan命令,并通过php设置crontab定时任务

5、使用前置中间件记录用户最后操作时间

6、通过构建后台权限系统对网站整体数据进行设置

吐槽

1、教程里面有个地方是通过mysql的外键约数来保证删除数据时的统一性, 因为我之前没有在mysql层使用过外键约束数据,所以有点不太习惯, 不过没有特殊业务需求,在innodb的情况下这种外键约束的方法还是不错的。

2、项目有一个功能是用户每次进行操作时更新用户最后一次操作时间, 这个操作时间是被直接缓存到redis中, 并且代码是直接用redis类进行操作的, 而不是用公共缓存类操作的,这就意味着这段代码复用性不是那么好, 不能通过修改配置项把缓存方式改成其他方式,,之后尝试把这段代码逻辑改成使用公共缓存类操作 但是失败了,因为涉及到同步到数据库,所以需要检索出前一天的所有用户缓存,发现用file或者database根本不行,只能使用redis的hash结构

下一步学习计划

前两部教程都是在没看laravel手册的情况下强行跟着教程刷项目, 有很多地方都似懂非懂,接下来还是准备先看完手册再刷下面的教程, 毕竟是世界上最好的语言里的最优雅的框架,还是给点面子看下手册<滑稽><滑稽>

About

论坛系统


Languages

Language:HTML 57.8%Language:PHP 41.8%Language:Shell 0.2%Language:Vue 0.1%