khr/react-mysql

React.PHP 的异步非阻塞 MySQL 驱动

v0.0.6 2015-04-11 20:49 UTC

This package is not auto-updated.

Last update: 2024-09-14 17:26:37 UTC


README

React.PHP 提供异步非阻塞的 MySQL 驱动。

安装

将以下内容添加到您的 composer.json 文件中

{
  "require": {
    "khr/react-mysql": "*"
  }
}

用法

创建 AsyncMysql 的实例并调用方法 query。它将返回一个 Promise,该 Promise 对象将在查询完成后立即解决,返回一个 mysqli_result 对象。

<?php

$loop = React\EventLoop\Factory::create();

$makeConnection = function () {
  return mysqli_connect('localhost', 'user', 'pass', 'dbname');
};

$mysql = new \KHR\React\Mysql\Client($loop, new \KHR\React\Mysql\Pool(function(){
    return mysqli_connect('127.0.0.1', 'root', '', 'test');
}, 10));
$mysql->query('select * from ponies_and_unicorns')->then(
  function ($result) { writeHttpResponse(json_encode($result->all())); },
  function ($error)  { writeHeader500(); }
);