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

DuckPhp 1.2.6 发布(Service =>Business)

  •  
  •   dvaknheo · 2020-09-16 11:43:40 +08:00 · 1821 次点击
    这是一个创建于 1563 天前的主题,其中的信息可能已经有所发展或是发生改变。
    项目地址: https://github.com/dvaknheo/duckphp
    作者 QQ: 85811616
    官方 QQ 群: 714610448

    支持 windows 。作为一个对初学者友好的框架,这是重要而难度不大的。

    最大变更是架构更新。

    原先的 Service 重命名为 Business 。
    MVC 缺的这个层,之前称呼为 Service 。 现在发现 Service 被叫混乱了。
    第三方的东西,以及部分完成 业务逻辑 的也被称呼为 Service 了。
    请大声回答, 业务 的英文单词是什么。
    Business! 所以就叫 Business 。

    这导致了模板文件目录的变更
    Service 目录改名 business 了。
    Base 也是 B 开始的,所以换成 System 目录, 里面还是 Base 开始的。
    --
    不管这些怎么变,我们的业务代码也基本不用变。哦,变的是
    DB_R ,DB_W 这样混乱的写法,重新整成 DbForRead DbForWrite 了。
    我们规范函数名字里的缩写词,统一用大写开头全小写形式。

    添加了事件系统,而且是一对多的,这回可以到处飞事件了。

    有了部分的自动文档脚本。 模板文件里有中文注释了。和文档的注释是统一的。
    说不定哪天,我们需要英化呢。

    也带有了 api 服务器的功能 可以看相关例子,要优化好用就下个版本的事情了。

    不到 50 行的演示例子。template/public/full/api.php
    ```php
    <?php declare(strict_types=1);
    /**
    * DuckPhp
    * From this time, you never be alone~
    */
    require_once(__DIR__.'/../../autoload.php'); // @DUCKPHP_HEADFILE
    use DuckPhp\DuckPhp;

    class BaseApi
    {
    //use \DuckPhp\SingletonEx\SingletonEx;
    }

    $options = [
    'is_debug' => true,
    'skip_setting_file' => true,
    'override_class' => '',
    'ext' => [
    'DuckPhp\\Ext\\RouteHookApiServer' => true,
    ],
    'api_class_base' => 'BaseApi',
    'api_class_prefix' => 'Api_',
    ];

    DuckPhp::RunQuickly($options);
    ////
    /// 后面是业务代码
    // 这里自己加 api
    class API_test extends BaseApi
    {
    public function foo()
    {
    return DATE(DATE_ATOM);
    }
    public function foo2($a, $b)
    {
    return [$a + $b, DATE(DATE_ATOM)];
    }
    }
    ////////////////
    // 访问方式 http://duckphp.demo.dev/api.php/test.foo2?a=1&b=2
    // 访问方式 http://duckphp.demo.dev/api.php/test.foo

    //
    ```
    --
    从 6 月 22 日发布 1.2.5 到 9 月 16 日发布 1.2.6 。 本来是想做一些小调整后一个月发布的。
    第一个月懒,没什么改,然后 8 月初想到了大改动。 所以延迟到现在。

    这个版本应该能作为 1.3 的基底了吧。能转入其他杀手级应用的开发来带动了吧。
    我曾经在 4 月底的时候,用 1.2.3 重写了 yii3 的 demo
    定个要求就是下个版本上 techempower 对比一下。加油!

    --
    尝试贴图一下
    这是除了事件和异常之外的应用架构图
    ![DuckPhp]( https://raw.githubusercontent.com/dvaknheo/duckphp/master/doc/arch_all.gv.svg)

    框架系统架构图,可以和其他框架对比着看
    ![DuckPhp]( https://raw.githubusercontent.com/dvaknheo/duckphp/master/doc/duckphp.gv.svg)
    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   944 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 20:59 · PVG 04:59 · LAX 12:59 · JFK 15:59
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.