Lying是我在学习PHP的时候,为了理解MVC,设计模式等PHP知识而写的一个轻量级的PHP框架,渐渐地我已经把Lying当做自己的一个项目来维护。经过几次大改版之后,Lying已经成为一个真正可用在生产环境的PHP框架。它可能不是那么完美,却是我的一番心血,有兴趣的同学可以fork去看看代码,如果它能给你的PHP之路带来一点启发,那是再好不过了。当然,如果你觉得Lying的某些地方有缺陷,你可以提Issue或者PR,我会根据你的意见对Lying进行完善。如果你喜欢Lying,欢迎你来学习、使用。但是如果你不喜欢它,也请你不要玷污它,因为每个人心中都有一门世界上最好的语言(比如PHP)和一个世界上最好的框架(比如Lying):blush:。
git clone [email protected]:carolkey/lying.git
composer create-project carolkey/lying lying
- PHP >= 5.5.0
- pdo/pdo-mysql
- 根据需求安装apc/apcu/memcached扩展
http://www.kancloud.cn/carol/lying
我想做的事情有太多太多……
- CLI控制器基类
- REDIS缓存(还没想好怎么弄,但是并不想弄成和memcached一样的key => value形式的缓存,因为这太埋没了redis)
- 数据库主从分离(这个再说吧,暂时还没用到,暂时用多个db组件勉强能实现)
- 路由反向解析优化(嗯...这个是痛点,我并不知道有什么高效又简便的实现方法,看来有空得去看看大框架的路由实现源码了)
- 单入口经典MVC。
- 代码库0依赖,支持composer加载(默认没加载autoload),因为Lying没有使用第三方代码库。
- 遵循PSR-2,PSR-4规范。
- 多种类自动加载方式:PSR-0,PSR-4,classMap。
- 核心类基于服务模式的设计,懒加载,配置和逻辑代码分离,扩展方便。
- 统一功能接口,功能相同的服务类在配置文件即可自由无缝切换,不影响逻辑代码。
- PDO实现的QueryBuilder + ActiveRecord支持,但暂时只支持mysql和mariadb。
- ApcCache/ApcuCache/DbCache/Memcached/FileCache多种缓存实现。
- DbLog/FileLog日志实现。
- Apache,Nginx,IIS,虚拟主机简易部署。
- 支持pathinfo模式和rewrite模式的路由,路由支持正反向解析(虽然弄的不太好)。
- 模块<->域名绑定,快速实现前后台分离。
- cookie类,加密类,请求类,钩子类等类的封装。
- 基于layout的PHP原生模板,渲染更快。
- 一些辅助函数帮助你更快开发。
- And so on...
如果你想要使用Lying,只需要遵循MIT
- Issue:Lying
- QQ:296399959
- MAIL:[email protected]