PHPackages                             mrtwenty/timer - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. mrtwenty/timer

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

mrtwenty/timer
==============

php timer

v1.0.2(6y ago)20718[1 issues](https://github.com/mrtwenty/timer/issues)MITPHPPHP &gt;=5.3

Since Aug 16Pushed 6y ago1 watchersCompare

[ Source](https://github.com/mrtwenty/timer)[ Packagist](https://packagist.org/packages/mrtwenty/timer)[ RSS](/packages/mrtwenty-timer/feed)WikiDiscussions master Synced 3d ago

READMEChangelog (3)DependenciesVersions (4)Used By (0)

timer
=====

[](#timer)

php定时器，参考了workerman源码，由于workerman源码太过复杂， 故而抽取了一些出来，重新整理出来，实现一个单进程(守护进程)的定时器。

原理
--

[](#原理)

1. 利用pcntl，守护进程化
2. 利用stream\_select的超时机制，来实现sleep，如果有event扩展的话，优先使用event扩展
3. 定时器是时间堆的方式实现，利用php的spl的优先队列

使用方式
----

[](#使用方式)

1.安装

```
composer require mrtwenty/timer

```

2.编写index.php

```
