apache - 大家自己写过哪些PHP框架或者工具?求链接
回复内容:
大家自己写过哪些PHP框架或者工具?求链接
我为自己的网站写了个框架,一直在使用 http://github.com/yeaha/Lysine2,每天处理几百万的动态请求
- RESTful风格的controller
- 内置DataMapper方式的ORM实现,比ActiveRecord更方便的是后端不仅仅局限于关系式数据库,可以方便的切换为mongodb等存储服务,而model api基本保持不变,且便于分库和分表
- 支持layout方式的视图
- mysql/postgresql/sqlite adapter
- 常用缓存redis/memcached adapter
- 日志记录
- 单元测试完整
总计代码4616行,168K,最大的毛病是没文档
Lysine2/src
|-- class_files.php
|-- context.php
|-- core.php
|-- curl.php
|-- datamapper.php
|-- error.php
|-- functions.php
|-- http.php
|-- loader.php
|-- logging.php
|-- mvc.php
|-- service
| |-- amqp.php
| |-- db
| | |-- mysql.php
| | |-- pgsql.php
| | `-- sqlite.php
| |-- db.php
| |-- manager.php
| |-- memcached.php
| `-- redis.php
|-- session.php
`-- traits.php
phploc统计结果:
Size
Lines of Code (LOC) 4616
Comment Lines of Code (CLOC) 203 (4.40%)
Non-Comment Lines of Code (NCLOC) 4413 (95.60%)
Logical Lines of Code (LLOC) 1567 (33.95%)
Classes 1402 (89.47%)
Average Class Length 23
Average Method Length 3
Functions 116 (7.40%)
Average Function Length 4
Not in classes or functions 49 (3.13%)
Complexity
Cyclomatic Complexity / LLOC 0.40
Cyclomatic Complexity / Number of Methods 2.41
Dependencies
Global Accesses 28
Global Constants 2 (7.14%)
Global Variables 3 (10.71%)
Super-Global Variables 23 (82.14%)
Attribute Accesses 432
Non-Static 411 (95.14%)
Static 21 (4.86%)
Method Calls 530
Non-Static 465 (87.74%)
Static 65 (12.26%)
Structure
Namespaces 12
Interfaces 2
Traits 3
Classes 60
Abstract Classes 5 (8.33%)
Concrete Classes 55 (91.67%)
Methods 395
Scope
Non-Static Methods 370 (93.67%)
Static Methods 25 (6.33%)
Visibility
Public Method 314 (79.49%)
Non-Public Methods 81 (20.51%)
Functions 26
Named Functions 21 (80.77%)
Anonymous Functions 5 (19.23%)
Constants 55
Global Constants 5 (9.09%)
Class Constants 50 (90.91%)
https://gist.github.com/yeaha/672178
这是一个展示存储服务路由配置的代码片段,用于展示如何分库
配置好以后由mapper使用,对data model完全透明
我写了几个有点另类的框架:
高性能 PHP Socket 服务器框架 workerman
PHP Thrift Rpc远程调用框架 workerman-thrift-rpc
PHP Json Rpc远程调用框架 workerman-json-rpc
PHP聊天室框架 workerman-chat
以上框架都是用PHP Daemon运行的,不用安装 apache、nginx、php-fpm这些软件就能直接跑。
workerman性能很强悍,我每天用它处理过亿的订单请求。
这个帖应该是毛遂自荐帖咯?
之前因为很喜欢fatfree的路由控制(说实话单独的路由控制没找到比fatfree更让我喜欢的),但是因为数据库和模板操作这边我也有其它喜欢的,所以昨天(还是前天?)把fatfree的路由功能给剥离了出来,不是我自己写的,不过也算是独有的(Github没搜到相关的项目),拿出来分享给题主吧,项目地址是:http://github.com/lizheming/F3router
框架这部分的话再推荐两个不是我自己写的东西吧(我是真的很喜欢你造嘛!)。数据库操作推荐一下喵饭大大的 Medoo 以及模板引擎推荐一下 Twig。不过模板这方面如果是做自己用的东西的话我更倾向于用原生的PHP语法去写。
框架因为用的东西不多,能说的也就这么几个了。关于工具的话,之前因为 Jekyll 和 Octopress 的流行,写过一个PHP版的静态博客生成器。很早些的,大换血过好几个版本,一直在更新,项目地址是:http://github.com/lizheming/pmblog
能拿得出手的东西就这么一点了,有问题欢迎反馈。
推荐自己的LitPHP
推荐理由:0.1版本代码行数=270行,表现力丰富,*整合任何模板/ORM解决方案,有实际生产项目
官网
Github Repo
开发分支
教程
设计理念
一生PHP功力化繁为简凝聚而成。除了组织代码和一些路由之外,没有任何功能,删无可删。也就是说任何功能都由你自己适配上去从而保持100%控制权,任何自己喜欢的模式都可以轻松套进去。
做框架的框架,让每个应用都躺在量身打造的框架中。
代码:
https://github.com/liaohuqiu/cube-php
文档:
http://cube-php.liaohuqiu.net/
这三年来一直在用的东西,这个框架支撑起来的业务曾经红极一时。名字随便起的,代码也还没完全整理好。
好些时间没写php了,最近忙里偷闲,重新拾起,开源出去,了一个念想,换一个纪念。
- 实现标准的autoload规则,允许各种框架接入
- 分库分表
- 极其简单的路由
- 对话框,ajax请求,客户端API请求,5分钟可以上手。
- 附送一个管理后台
- 附送一个JS框架
https://github.com/lloydzhou/router
一个只有100行的路由控制器,算不上框架了。
不使用正则表达式做路由映射,而是根据pathinfo创建树形结构,保证路由查找速度稳定在Olog(n)。
支持hook,可以用来过滤参数,检查登录等。
支持根据handler参数列表自动获取变量,与hook结合使用,再也不用满篇写GET POST变量了。。。