欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

apache - 大家自己写过哪些PHP框架或者工具?求链接

程序员文章站 2022-06-03 14:27:38
...
大家自己写过哪些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了,最近忙里偷闲,重新拾起,开源出去,了一个念想,换一个纪念。


  1. 实现标准的autoload规则,允许各种框架接入
  2. 分库分表
  3. 极其简单的路由
  4. 对话框,ajax请求,客户端API请求,5分钟可以上手。
  5. 附送一个管理后台
  6. 附送一个JS框架

https://github.com/lloydzhou/router

  1. 一个只有100行的路由控制器,算不上框架了。

  2. 不使用正则表达式做路由映射,而是根据pathinfo创建树形结构,保证路由查找速度稳定在Olog(n)。

  3. 支持hook,可以用来过滤参数,检查登录等。

  4. 支持根据handler参数列表自动获取变量,与hook结合使用,再也不用满篇写GET POST变量了。。。

相关标签: apache php