Skip to content
This repository has been archived by the owner on Dec 14, 2021. It is now read-only.

suyar/lying

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LYING

Lying是我在学习PHP的时候,为了理解MVC,设计模式等PHP知识而写的一个轻量级的PHP框架,渐渐地我已经把Lying当做自己的一个项目来维护。经过几次大改版之后,Lying已经成为一个真正可用在生产环境的PHP框架。它可能不是那么完美,却是我的一番心血,有兴趣的同学可以fork去看看代码,如果它能给你的PHP之路带来一点启发,那是再好不过了。当然,如果你觉得Lying的某些地方有缺陷,你可以提Issue或者PR,我会根据你的意见对Lying进行完善。如果你喜欢Lying,欢迎你来学习、使用。但是如果你不喜欢它,也请你不要玷污它,因为每个人心中都有一门世界上最好的语言(比如PHP)和一个世界上最好的框架(比如Lying):blush:。

INSTALL

git clone [email protected]:carolkey/lying.git
composer create-project carolkey/lying lying

REQUIREMENTS

  • PHP >= 5.5.0
  • pdo/pdo-mysql
  • 根据需求安装apc/apcu/memcached扩展

DOCUMENTATION

http://www.kancloud.cn/carol/lying

TODO

我想做的事情有太多太多……

  • CLI控制器基类
  • REDIS缓存(还没想好怎么弄,但是并不想弄成和memcached一样的key => value形式的缓存,因为这太埋没了redis)
  • 数据库主从分离(这个再说吧,暂时还没用到,暂时用多个db组件勉强能实现)
  • 路由反向解析优化(嗯...这个是痛点,我并不知道有什么高效又简便的实现方法,看来有空得去看看大框架的路由实现源码了)

FEATURES

  • 单入口经典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...

LICENCE

如果你想要使用Lying,只需要遵循MIT

FEEDBACK