dazzle-php/mysql

Dazzle 异步 MySQL。

v0.5.0-alpha 2017-07-27 22:43 UTC

This package is not auto-updated.

Last update: 2024-09-20 23:33:58 UTC


README

Build Status Code Coverage Code Quality Latest Stable Version Latest Unstable Version License

注意: 此存储库是 Dazzle 项目 的一部分 - PHP 下一代库。项目的目的是为 PHP 开发者提供一套完整的工具来构建功能性的异步应用程序。请务必仔细阅读附带的 README 文件,保证您会被其易用性和强大功能所惊讶。同时,您可以查看我们 Dazzle 仓库 中其他异步库的完整 Dazzle 经验。


描述

待办事项

功能亮点

Dazzle MySQL 功能

待办事项

提供的示例

快速入门

此示例演示了如何连接到 MySQL 数据库并打印其中存储的所有表。

$loop = new Loop(new SelectLoop);

$mysql = new Database($loop, [
    'endpoint' => 'tcp://127.0.0.1:3306',
    'user'     => 'root',
    'pass'     => 'root',
    'dbname'   => 'dazzle',
]);

$mysql
    ->start()
    ->then(function() use($mysql) {
        printf("Connection has been established!\n");
        printf("Connection state is %s\n", $mysql->getState());
    })
    ->done(null, function($ex) {
        printf("Error: %s\n", var_export((string) $ex, true));
    });

$mysql->query('SHOW TABLES')
    ->then(function ($command) use ($loop) {
        $results = $command->resultRows;
        $fields  = $command->resultFields;

        printf("|%-60s|\n", str_repeat('-', 60));
        printf("|%-60s|\n", ' ' . $fields[0]['name']);
        printf("|%-60s|\n", str_repeat('-', 60));

        foreach ($results as $result)
        {
            printf("| # %-56s |\n", $result[$fields[0]['name']]);
        }
        printf("|%-60s|\n", str_repeat('-', 60));
    })
    ->then(null, function($ex) {
        printf("Error: %s\n", var_export((string) $ex, true));
    })
    ->done(function() use($loop) {
        $loop->stop();
    });

$loop->start();

附加信息

待办事项

比较

本节包含许多用户请求的 Dazzle 与 React 的比较。如果您想知道为什么创建了这个部分,请参阅该部分的 作者备注

性能

待办事项

详细信息

待办事项

作者备注

备注可在 NOTE 文件 中找到。

要求

Dazzle MySQL 需要

  • PHP-5.6 或 PHP-7.0+,
  • UNIX 或 Windows 操作系统。

安装

要安装此库,请确保您已安装 composer,然后运行以下命令

$> composer require dazzle-php/mysql

测试

可以通过以下方式运行测试

$> vendor/bin/phpunit -d memory_limit=1024M

版本控制

Dazzle 库的版本控制正在与 Dazzle 项目 中包含的所有包共享。这意味着它们会同时发布。一方面,这可能会导致某些包出现“空”发布,但请放心。最终,对贡献者来说,这要容易得多,而且最重要的是,对用户来说,了解包的兼容性和互操作性更为直观。

贡献

感谢您考虑为此存储库做出贡献!

许可协议

Dazzle MySQL 是开源软件,采用 MIT 许可协议

"一切皆有可能。不可能的只是需要更长的时间。" — 丹·布朗