Coder Social home page Coder Social logo

laravel-blog's Introduction

项目初衷

都说 laravel 是一个很优雅的 php 框架, 这话我是真的深有体会.

公司内部在去年新开的 web 项目, 我和同时保守的使用了 php 5.6 和 mysql 5.6, php 框架也选了老掉牙的 ThinkPHP 3.2.3, so, 一个大坑就完完全全的落下了.

在那个时候, 我对 laravel 的认识还只是文档上. 并没有真正的使用过. 偶然的一次, 我对 phpstorm 稍微的深入使用后, 我爱上了这个 IDE, 也痛恨自己的框架选型.

phpstorm 上可以使用 phpcs 来规范自己的代码风格, 然后, 我就看到了 ThinkPHP 3.2.3 的代码风格是有多么的烂, 其实, 这个也不怪它, 我当时的代码风格也是烂的一塌糊涂.

在 phphub 上了解了 psr 规范, 我就严格的按照 psr-2 的规范来写代码, 慢慢的, 我的代码符合了规范, 但是, 看到 ThinkPHP 3.2.3 中根本就没有符合规范的代码. 我的强迫症受不了啊.

新项目开发, 很定少不了使用别人写好的扩展包, composer 是第一首选, 可是 TP 中我真的不知道该放到哪里, 除非去改框架. 因为很多好用的扩展包直接就与 TP 冲突了. 例如: 非常有名的 var-dump 这个包.

只能说, 当时的水平不够, 眼界不足, 选型错误. 不怪别人, 只怪自己.

后来我就想学习一下 laravel, 知道了 laravel-china 社区, 被这个社区给征服了. 决定就此安家, 深入学习 laravel.

收到底, 有对比就有伤害, 工作中使用 TP, 我这边自己学习用 laravel, 才真正的感觉到 laravel 的优雅.

同时, 我也感觉到自己进入了一个新的世界, 依赖注入, IoC, 服务容器, 契约, 门面, 服务提供者, 这些以前没有接触过的理念和设计模式, 让我又爱又恨, 我能感觉到, 拿下他们, 我的技术水平和**, 应该能提高很多, 但是, 啃下他们对于我来说, 感觉还是很吃力的. 所以, 笔记, 成为了我最好的工具. 由此, 本项目正式成立.

项目目的

通过阅读 laravel 5.5.* 的源码, 来真正的理解 laravel 的优雅是从何而来的.

项目周期

本人能力有限, 不可能从整体来解刨 laravel, 只能用最笨的方法, 从前往后的来理解源码部分. 但是, 我会不断的整理, 我想, 到最后, 我这个项目完成, 我对 laravel 的理解也应该差不都了.

版本约定

Laravel 5.5.*

PHP ^7.1.3

MySQL 5.7.*

Nginx *

项目目录

  1. 框架的整体架构 summary.md
  2. 待续...

初步需求

  1. 图片加水印, 然后通过 github api, 保存到我指定的一个 issue 中. 这么做的目的是图片链接不会挂掉. 方便迁移.
  2. 博客的文章统一采用 markdown. 独立于本系统, 可以推送到 github, 然后利用钩子, 自动在本系统中部署显示.
  3. 后台使用 laravel-admin, 其实是为了学习这个 laravel 的扩展. 使用起来真的很方便. 一定要精通.
  4. 把这个博客做成 laravel 的扩展包.
  5. 博客具有统计功能. 文章点击量, 日访问量, 等等.
  6. 点赞, 评论, 回复, 通知, 公告等功能.
  7. 用户使用第三方平台登录. github, wechat, QQ, google 等等.
  8. 前端使用 vue, 后端与前端完全分离.
  9. 搜索功能, 可以使用 ES, 搜索高亮.
  10. 时间轴功能.
  11. tag 功能.
  12. 分类功能.
  13. 支持 baidu, google 收录. SEO 优化.
  14. 使用 python, 自动上传剪切板中的图片到 github issue 中, 并返回地址. 可以结合 alfred 使用.
  15. 使用 alfred 快速搜索记录过的文章. 并且可以预览, 复制等操作.
  16. todo 列表, 做成对外接口, 可以使用 alfred 调用快速添加. 对接 github 接口.

laravel-blog's People

Contributors

qiuyimo avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.