渗透测试之wordpress,wordpress怎么样( 二 )


我直到 2.x 之后 , 能力才逐渐能够潜心下来看代码 , WordPress 里面的很多思想还是非常牛逼闪闪的 。比如 , 它的 Action 和 Hook 机制 。这个玩意儿 , 说有多神秘 , 一点也不啊 。这不就是一个 Observer 设计模式嘛 , 就那么自然而然地在里面 , 用来解决问题了啊 , 而且是用面向过程实现的 Observer 哦!插件机制 , 不就是依赖注入嘛 。
还有优先级队列啊!处理 Category 那里 , 递归 , 树的构造 , 算法也杠杠的啊 。再看到了 2.3 的时候 , 引入的 tag , 信息检索的思维也是杠杠的啊 , tag 的思想比起树状的分类目录 , 已经直达现代了啊 。WordPress 另一个厉害的地方是演化 , 从 PHP 4.x 走来 , 进化到 PHP 5.x , 然后它长时间都是同时支持 PHP 4.x 和 PHP 5.x 的语法的 , 我想说的是 , PHP 4 发展到晚期 , 出现了面向对象了 , 但是很简陋 , 连访问控制都没有啊 , 可是 WordPress 一直在同时支持两代语言的语法啊!一直考虑了很多个人博主使用虚拟主机 , 不易随便升级系统的困扰 , 尽可能让他们用上更好的版本啊 。
等到历史的车轮驶入 PHP 5.x 后 , 里面一个又一个的模块 , 在一个个迭代里面 , 逐步的面向对象化 。Widget 的 Class 版出现 , 首先结束了写个 Widget 用一坨面向过程方法 。后面 , 渐渐的越来越多内部模块都逐渐面向对象化了 。在实施这个过程的时候 , 所有用老的版本开发的插件 , 都持续地能用 , WordPress 的向下兼容 , 不但跨越各种 Minor 版本号 , 也跨越 Major 版本号好不好 。
我在 2.x 写的某些插件 , 现在还能继续使用呢!抒发感慨都抒发得我累了 。WordPress 从代码审美来看 , 依然不是什么漂亮的作品 。里面代码脏、乱 , 各种 trick , 表现和逻辑混杂 , 耦合等等问题 , 不胜枚举 。但是从用户至上的角度来看代码质量的话 , WordPress 毫无疑问可以排进世界上最好的软件名录里面 。
部署简便 , 依赖少 , 基本不依赖各种扩展;向下兼容 , 兼容机器(*nix、win) , 兼容解释器(PHP 4.x、5.x) , 兼容数据库(MySQL , PostgreSQL) , 兼容社区(插件、皮肤的老版本)界面时尚 , 设计潮流 , 紧跟时代脚步 功能简单易用 , bug 很少安全性基本符合中小网站要求性能基本符合中小网站要求所以 , WordPress 是一个质量很好的项目 , 而且一直秉承着用户至上的精神 , 它的用户不光是写博客的博主 , 更是成千上万依赖 WordPress 赚取收入的自由职业程序员 , WordPress 没有粗暴的要求他们不断升级插件、皮肤的版本去追随版本(比如万恶的苹果) , 也没有粗暴的禁止老版本的使用 , 而是极尽所能的兼容一切 。
所以 , 直到今日 , WordPress 依然是非常流行的博客系统 , 而且已经逐步升级为一个小型的 CMS 系统 , 而且其开放的架构 , Hook 思想 , 可以让人把它改成各种东西 , 有人做了网店 , 也有人做了社区 , 无所不能啊 。如果沉下心来 , 仔细研究代码 , 不光是审美 , 还要考虑历史因素 , 现实因素 , 不光研究一个版本 , 还要研究新版 , 研究代码演化 , 相信还是能学到很多很多东西的 , 或许学这个 , 无法成为伟大的程序员 , 但是 , 你可能会成为一个优秀的产品经理 , 学会怎么去尊重用户 , 怎么去一切以用户价值为依归 , 也可以成为一个优秀的工程师 , 学会怎么让一坨看起来丑陋不堪的代码 , 不断往更好的方向发展 , 跟上时代潮流和脚本 , 而不是放任它腐烂发臭 。

推荐阅读