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

PHP 框架 DuckPhp 1.2.11 发布

  •  1
     
  •   dvaknheo · 189 天前 · 1272 次点击
    这是一个创建于 189 天前的主题,其中的信息可能已经有所发展或是发生改变。

    项目地址:

    https://github.com/dvaknheo/duckphp

    https://gitee.com/dvaknheo/duckphp

    作者 QQ: 85811616

    官方 QQ 群: 714610448

    • 全组件可替换
    • 高可靠性,无依赖
    • 超低耦合
    • 可扩展
    • 灵活自由
    • 最小惊讶原则(Principle of least astonishment)
    • 全覆盖单元测试

    这次发布隔了很久,主要是重写了 AppPluginTrait 。使得可以把自己的代码引入 AppPluginTrait,就能原封不动的作为插件给其他工程使用。

    这个版本的亮点还有: 可以使用 Workerman 和 Swoole 加速。代码不用改变,只需要引入 dvaknheo/workermanhttpd 和 dvaknheo/swoolehttpd 。 命令行里 duckphp-project run --override-class=WorkermanHttpd/WorkermanHttpd 这就行,( swoole 支持只是试验性。

    接下来要完成的任务是 用 DuckPhp 写一个多用户的后台,以 composer lib 的形式。 而且可以让人完全魔改,而不动用 vendor 的代码。 而不是那种提供个 composer project 工程模板让大家在里面改的方式。 或许,会和新版本的 tagfeather 模板一起发布。

    “只要你的代码抽出业务层,我们就是好兄弟”

    贴个 hello world 代码吧。发布项目没有代码总怪怪的。

    <?php declare(strict_types=1);
    /**
     * DuckPhp
     * From this time, you never be alone~
     */
    require_once(__DIR__.'/../../autoload.php');        // @DUCKPHP_HEADFILE
    
    class Main
    {
        public function index()
        {
            echo "hello world";
        }
    }
    $options = [
        'namespace_controller' => "\\",   // 本例特殊,设置控制器的命名空间为根,而不是默认的 Controller
        // 还有百来个选项以上可用,详细请查看参考文档
    ];
    \DuckPhp\DuckPhp::RunQuickly($options);
    
    

    系统架构图(感谢 sm.ms 的图床 ): duckphp.gv.png

    3 条回复    2021-04-11 16:56:46 +08:00
    qyf1994
        1
    qyf1994   189 天前
    请问 这图是用什么软件画的?
    wuxi889
        2
    wuxi889   189 天前
    @qyf1994 你不对劲,别人不是想让你问这个
    wfdaj
        3
    wfdaj   188 天前
    我怎么觉得 RunQuickly 有些奇怪呢 ( ̄︶ ̄)↗
    关于   ·   帮助文档   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2067 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 18ms · UTC 12:05 · PVG 20:05 · LAX 05:05 · JFK 08:05
    ♥ Do have faith in what you're doing.