litgroup / event-loop-bundle

该包已被 弃用 并不再维护。未建议替代包。

Symfony2 的 React EventLoop 集成。

安装: 679

依赖者: 2

建议者: 0

安全: 0

星标: 6

关注者: 2

分支: 1

类型:symfony-bundle

v0.3.0 2014-06-30 15:09 UTC

This package is not auto-updated.

Last update: 2022-02-01 12:36:25 UTC


README

🚫 (该项目不再维护。)

此包将 react/event-loop 库集成到 Symfony 2。

Latest Stable Version Total Downloads Latest Unstable Version License

主分支状态: Build Status

安装

使用 Composer 安装 LitGroupEventLoopBundle

"require": {
    "litgroup/event-loop-bundle": "1.0.x-dev"
}

别忘了在 AppKernel 中注册该包

<?php // AppKernel.php

class AppKernel extends Kernel
{
    public function registerBundles()
    {
        $bundles = [
            // ...
            new LitGroup\Bundle\EventLoopBundle\LitGroupEventLoopBundle(),
        ];
        // ...

        return $bundles;
    }
 	
    // ...   
}

配置

这次不需要配置。

基本用法

使用事件循环

该包提供一个名为 litgroup_event_loop 的基本循环服务,您可以用它进行注入或直接在您的应用程序中使用。

示例

/** @var \React\EventLoop\LoopInterface $loop */
$loop = $container->get('litgroup_event_loop');

$loop->run();

周期性服务

周期性服务 — 标记为 litgroup_event_loop.periodic 的服务,定义在依赖注入容器中。当循环运行时,这些服务将定期被调用。

标签有两个必需的属性

  • interval — 调用之间的间隔;
  • method — 要调用的服务方法。

间隔可以设置为以双精度值表示的秒数,或设置为包含时间单位的字符串(例如 10ms1m)。间隔不能少于 1ms。

字符串表示支持四个单位

  • ms 毫秒
  • s
  • m 分钟
  • h 小时

单位不能混合。

示例: 10s15m1.5h

周期性服务定义示例

服务类

<?php

class PeriodicService
{
	public function tick()
	{
		echo "Tick!";
    }
}

DIC 配置

<?xml version="1.0" encoding="UTF-8" ?>
<container xmlns="https://symfony.com.cn/schema/dic/services"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:schemaLocation="https://symfony.com.cn/schema/dic/services
        https://symfony.com.cn/schema/dic/services/services-1.0.xsd"
        >

    <services>        

        <service id="periodic_service" class="PeriodicService">
            <tag name="litgroup_event_loop.periodic" interval="1s" method="tick"/>
        </service>

    </services>

</container>

现在,当事件循环运行时,将每秒调用 PeriodicService::tick()

许可证

软件按“原样”提供,不提供任何明示或暗示的保证,包括但不限于对适销性、特定用途适用性和非侵权的保证。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任负责,无论这些责任是基于合同、侵权或其他方式,无论这些责任是否与软件有关、软件的使用或其他方式。

请参阅 LICENSE 文件中的详细信息。