1. Go to this page and download the library: Download franzip/throttler library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
use Franzip\Throttler\Throttler;
// Setting things up
// Max 30 total requests per hour
$throttler = new Throttler('requests', 30, 'hrs');
// Nothing happens and the call will return false since there is nothing to track
$throttler->start();
// Add remote addresses to track...
$throttler->addComponents('AddressToTrack1');
$throttler->addComponents('AddressToTrack2');
$throttler->addComponents('AddressToTrack3');
// Bulk adding
$throttler->addComponents(array('AddressToTrack4',
'AddressToTrack5',
'AddressToTrack6',
...));
...
// Start tracking (timeframe starts now)
$throttler->start();
if ($throttler->updateComponent('AddressToTrack1')) {
// handle update success
} else {
// handle update failure
}
$numOfRequests = 31;
// will return false since the global limit is 30
$throttler->updateComponent('AddressToTrack1', $numOfRequests);
...
// Remove all stuff to track
$throttler->stop();
$throttler->setComponents(array());
use Franzip\Throttler\Throttler;
// Setting things up
// Max 100 total requests per day
// Max 10 requests from each tracked address per day
$throttler = new Throttler('requests', 100, 'hrs', 24,
10, array('AddressToTrack1',
'AddressToTrack2',
...));
// Start tracking (timeframe starts now)
$throttler->start();
if ($throttler->updateComponent('AddressToTrack1')) {
// handle success
} else {
// handle failure
}
use Franzip\Throttler\Throttler;
$throttler = new Throttler('requests', 100, 'hrs');
// false
$throttler->isActive();
// false, there's nothing to track yet.
$throttler->start();
// false
$throttler->isActive();
$throttler->addComponents(array('foo', 'bar'));
// true, we have something to track
$throttler->start();
// true
$throttler->isActive();
// reset the instance (this will also stop tracking)
$throttler->reset();
// false
$throttler->isActive();
use Franzip\Throttler\Throttler;
$throttler = new Throttler('requests', 100, 'hrs');
// Change time cap to 2 hours
$throttler->setMetricFactor(2);
// Change time cap to 2 minutes
$throttler->setMetric('min');
// Change global limit to 50
$throttler->setGlobalThreshold(50);
...
$throttler->reset();
// reverted to 100
$throttler->getGlobalThreshold();
// reverted to 'hrs'
$throttler->getMetric();
php composer.phar install
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.