wyrihaximus / cake-async-orm
此包已被废弃,不再维护。没有建议的替代包。
异步 CakePHP ORM
dev-master
2019-04-23 05:38 UTC
Requires
- php: ^7.2
- api-clients/cs-fixer-config: ^1.0
- cakephp/cakephp: ^3.7.2
- doctrine/annotations: ^1.2
- friendsofphp/php-cs-fixer: ^2.14
- nikic/php-parser: ^4.0 || ^3.0 || ^2.0 || ^1.0
- phpdocumentor/reflection-docblock: ^4.0 || ^3.0 || ^2.0
- roave/better-reflection: ^3.1 || ^2.0
- wyrihaximus/react-child-process-pool: ^1.3
Requires (Dev)
This package is auto-updated.
Last update: 2022-02-01 12:47:18 UTC
README
异步访问异步项目中的 cake3 模型,目前处于早期 Alpha 阶段。
示例
<?php namespace App\Shell; use Cake\Console\Shell; use React\EventLoop\Factory; use WyriHaximus\React\Cake\Orm\AsyncTableRegistry; class ScreenshotsShell extends Shell { public function status() { $loop = Factory::create(); AsyncTableRegistry::init($loop); // Keep in mind that ALL methods on the AsyncTable you get from the AsyncTableRegistry is a promise AsyncTableRegistry::get('Screenshots')->find('all')->then(function ($data) use ($loop) { var_export($data); $loop->stop(); }, function ($error) use ($loop) { var_export($error); $loop->stop(); }); $loop->run(); } }
(A)sync 检测
为了仅在池中运行对表对象的必要调用,已经实施了几种检测策略,具体如下:
- 文档块返回类型,如果它与
Cake\ORM\Query
匹配,它将忽略任何注释或函数名 - 可以使用类范围的异步和同步注释,但在方法级别可以重写
- 函数名检测,
fetch*
、find*
和retrieve*
将异步,其余的将同步,除非被注释或返回类型覆盖
许可
版权所有 2015 Cees-Jan Kiewiet
特此授予任何人获取此软件及其相关文档文件(“软件”)的副本的权利,免费使用软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售软件的副本,并允许向软件提供副本的个人这样做,前提是遵守以下条件
上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。
软件按“原样”提供,不提供任何明示或暗示的保证,包括但不限于适销性、针对特定目的的适用性和非侵权性保证。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任负责,无论这些索赔、损害或其他责任是根据合同、侵权或其他方式产生的,与软件或软件的使用或其他交易有关。