Skip to content

Ahmard/clock

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PHP Clock

A clock description here...

Installation

composer require ahmard/clock

Usage

  • Seconds
use Clock\Clock;

Clock::after(1, function (){
    echo 'Executed';
});

Clock::forEachSecond(function (){
    echo "1 second has passed\n";   
});

Clock::forEachSecond(5, function (){
    echo "5 seconds has passed\n";   
});
  • Minutes
use Clock\Clock;

Clock::after('1 minute', function (){
    echo 'Executed';
});

Clock::forEachMinute(2, function (){
    echo "2 minutes has passed\n";   
});
  • Hours
use Clock\Clock;

Clock::after('1 hour', function (){
    echo 'Executed';
});

Clock::forEachHour(1, function (){
    echo "1 hour has passed\n";   
});

Advance usage

use Clock\Clock;
use React\EventLoop\TimerInterface;

Clock::forEach('1 minute 5 seconds', function (){
    echo "1 minute 5 seconds has passed\n";   
});

Clock::forEach('2 minutes', function (TimerInterface $timer){
    echo "2 minutes has passed\n";   
    Clock::stop($timer);
});

Sound

This library comes with sounds out of the box
To use them, you will need to install Sox

use Clock\Clock;use Clock\Sound;

Sound::play(__DIR__ . '/test.mp3');

Clock::forEachMinute(function (){
    Sound::playAlarm();
});

Notification

Push notification to your system

use Clock\Clock;
use Clock\Notification;

$notification = Notification::create()
    ->setTitle('My Title')
    ->setIcon('/drive/path/to/icon.jpg');
    
$notification
    ->setBody('My notification body here')
    ->send();

Clock::forEach('2 minutes', function () use ($notification){
    $notification->setBody('Two minutes has passed');
    $notification->send();
});

About

PHP clock system with alarm, reminder, stopwatch, timer

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages