Skip to content

为什么要开发 Phwoolcon

Christopher CHEN edited this page Aug 19, 2017 · 1 revision

起因

这个项目初衷是做一个 Phalcon + Swoole 的高性能框架——因为 Laravel 这种把优雅当饭吃的框架太臃肿,而且这种优雅实际上不友好不直观。

俗话总是说应用的瓶颈在数据库,不在框架。我以前也是这样认为的,直到给实际项目做性能分析,才发现框架里动辄上万次的函数调用是一种什么样的负担,上百毫秒的 CPU 时间都浪费在框架加载上了,实际业务逻辑加上数据库访问,其实只需要不到 20 毫秒 。

尝试

于是我选择了 Phalcon,基于 php 扩展的高性能框架;

再加上 Swoole 做守护进程,把每次请求都的重复工作压缩到最少。

由于 Phalcon 本身的组织问题,较高的使用难度,以及对 php 程序员来说更难驾驭的 Swoole,我开发了 Phwoolcon,可以让同一套码既可以用 php-fpm 模式运行,也可以马力全开用守护进程模式。

意外收获

Phwoolcon 还从文件结构上分离了框架和应用,随着应用开发,框架的更新再也不是问题,因为 app 目录下没有应用代码,所有代码,包括应用本身,你自己开发的模块,第三方模块,都用 composer 来组织。

现状

项目包涵了几个模块:

bootstrap:Phwoolcon 框架的根目录结构,无业务入侵,可随时升级,并提供构建功能,顺便解决了 composer 项目部署的老大难问题;

phwoolcon:核心功能 ,一部分是对 Phalcon 的封装和改进,强调代码的直观性(IDE 可识别,新人上手容易);

deploy-automator:自动部署 Phwoolcon 应用,功能已可用,UI 开发中;

rpc 和 push-service:引入了 hprose,跨平台 RPC 和推送模块,正在早期开发中;

auth,payment,fsm,admin:用户验证,支付,有限状态机,管理后台等基础功能模块。

Clone this wiki locally