V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
doyouhaobaby
V2EX  ›  PHP

QueryPHP 1.0.0-alpha.1 发布,渐进式 PHP 常驻框架引擎

  •  
  •   doyouhaobaby · 2018-11-08 12:42:55 +08:00 · 3397 次点击
    这是一个创建于 2207 天前的主题,其中的信息可能已经有所发展或是发生改变。

    HI,各位 2018 已接近尾声,在这个秋意满满的时节,小牛仔潜心研究 2 年的 QueryPHP 将迎来了自己第一个测试版本。

    早在 2009 年 2 月份,我开始接触 PHP 这门语言,那个时候边学些边开发,并在 2009 年发布了第一个开源项目 DYHB.BLOG,这是一个未使用任何框架的独立博客。

    从早年的原生 PHP 开发,最开始的 smart 模板引擎到今天 PHP7、Swoole、Composer、Laravel 等,整个 PHP 世界正发生着日新月异的变化。在这些年的成长过程中看过无数的 PHP 框架和各种轮子,心里总有一种造轮子冲动。

    2016 年看了韩天峰老师的 《PHP7+Swoole 开发超高性能后台程序--韩天峰 @PHPCon2016》,心情非常激动,里面提到了一个超高性能组合。

    我想要是可以做这样一套组合就好了,要做这样的一个基本的需要什么,分析一下。

    PHP 7 我们不用操心,Redis 也不用操心,Swoole 不用操心(也要操心,需要连接起来)。最麻烦要数 phalcon 和 yaf,以及一个连接它们的框架。

    经过折腾找到 zephir 终于解决了 phalcon 和 yaf 这块问题,终于我们找到了完整的方案。

    We think the performance of PHP applications is very important and the development of pleasure also needs to be considered, and that's why we have developed the QueryPHP framework to achieve great ideals.

    • PHP 7 - We choose the lowest version of 7.1.3, because php7 has a unique advantage over the earlier version.

    • Leevel - We provides an optional c extension to takeover core components of the framework,such as ioc, log, cache.

    • Swoole - Enable PHP developers to write high-performance, scalable, concurrent TCP, UDP, Unix socket, HTTP, Websocket services in PHP programming language.

    • Redis - QueryPHP encapsulation a cache component, including files, redis and so on, so as to reduce the pressure of database.

    其中 PHP 7 搞定了,Leevel 可选扩展框架实现也搞定了,Leevel 高性能 PHP 扩展开发框架,基于 zephir 的中国版 Min Phalcon。

    Redis 搞定了,提供了通用缓存组件,包含 redis.

    https://github.com/leevels/cache

    Swoole 还为搞定,做了一些还需要完善,最终在第一个版本拿下了,为了主框架发布,主要是百分之单元测试覆盖彻底占用了开发 swoole 部分的时间,对 swoole 的开发是我们的后续版本主打特性。

    我们的愿景是 USE LEEVEL WITH SWOOLE DO BETTER,没有 swoole 部分愿景就不完美。

    https://www.v2ex.com/t/466294#reply4

    更新日志和主要特征

    开源中国首发

    做为一个刚刚发布的框架还有很多不足,希望大家给予意见,如果你觉得不错,也可以给我们一个 star。

    来源: https://www.oschina.net/news/101614/queryphp-1-0-0-alpha1-released

    14 条回复    2018-11-09 11:58:36 +08:00
    hubahuba
        1
    hubahuba  
       2018-11-08 13:44:11 +08:00
    我慌了···
    JaguarJack
        2
    JaguarJack  
       2018-11-08 13:59:26 +08:00   ❤️ 2
    不来不来了,太多了,请你们这些作者不要各自占山为王了,可以找韩天峰商议利用 swoole 开发属于社区的一套框架就可以了,谁有时间学这么多啊。
    Exceptions
        3
    Exceptions  
       2018-11-08 16:02:55 +08:00
    Junjunya
        4
    Junjunya  
       2018-11-08 16:09:48 +08:00
    fyibmsd
        5
    fyibmsd  
       2018-11-08 16:11:41 +08:00
    挖坑一时爽
    server
        6
    server  
       2018-11-08 16:17:57 +08:00
    膜拜还是要有的,不过我选择用 go,🐶
    doyouhaobaby
        7
    doyouhaobaby  
    OP
       2018-11-08 16:18:22 +08:00
    @JaguarJack 不同的场景适应不同框架,轮子不是很多,遇到了才看看,golang 才叫轮子多。
    新的项目出来,感兴趣就看看,不感兴趣的就忽略,大部分项目都会与我们生活插肩而过。
    国内开源项目普遍工程化不如欧美的,我也看了不少 swoole 的轮子,很多连基本的单元没有怎么能稳定。
    谢谢指正。
    Youngda
        8
    Youngda  
       2018-11-08 16:19:52 +08:00 via Android
    福利满满,坐等完善 swoole
    doyouhaobaby
        9
    doyouhaobaby  
    OP
       2018-11-08 16:21:02 +08:00
    @server 我也选择 golang,我研究了一段时间了 gin,哈哈
    Donne
        10
    Donne  
       2018-11-08 16:24:35 +08:00   ❤️ 1
    我理解的这是一个整合类框架,如果是整合为什么我看文档里模板、ORM 之类的又造了一套轮子
    doyouhaobaby
        11
    doyouhaobaby  
    OP
       2018-11-08 16:29:26 +08:00
    @Donne 我在 2010 - 2014 开发一个框架 DoYouHaoBaby,这个是在哪个框架上重新重构,老框架留下了不少组件,甚至包含模板引擎,于是保留了下来。也依赖了很多 composer 包,重构了 2 年,自己的组件也有很多。

    "php": "^7.1.3",
    "ext-mbstring": "*",
    "ext-openssl": "*",
    "symfony/console": "~4.0",
    "symfony/var-dumper": "~4.0",
    "symfony/process": "~4.0",
    "symfony/finder": "~4.0",
    "clio/clio": "@stable",
    "robmorgan/phinx": "^0.9.2",
    "vlucas/phpdotenv": "~2.2",
    "nesbot/carbon": "~1.20",
    "league/flysystem": "^1.0.8",
    "monolog/monolog": "^1.23",
    "swiftmailer/swiftmailer": "6.0.2",
    "nunomaduro/collision": "~2.0",
    "twig/twig": "~2.0",
    "gettext/gettext": "^4.6.0",
    "fzaninotto/faker": "^1.6",
    "zircote/swagger-php": "^3.0.1",
    "maximebf/debugbar": "~1.15.0"
    doyouhaobaby
        12
    doyouhaobaby  
    OP
       2018-11-08 16:31:44 +08:00
    @Donne 文档还没有准备,暂时单元测试即文档,编写 2700 例单元测试,8000 个断言,后面后把文档整理一下。
    lsls931011
        13
    lsls931011  
       2018-11-09 08:38:48 +08:00
    swoole 社区类似的 PHP 框架轮子太多了,我还是选择 golang 吧,这边多框架
    gouchaoer
        14
    gouchaoer  
       2018-11-09 11:58:36 +08:00
    其实 swoole 社区生态需要一个轻量级的简单的框架
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1082 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 19:09 · PVG 03:09 · LAX 11:09 · JFK 14:09
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.