Advertisement
Guest User

Untitled

a guest
Apr 28th, 2017
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.91 KB | None | 0 0
  1. /**
  2. * Experimental for laravel-quota. Resolves
  3. * a Rate instance
  4. * for TokenBucket implementation.
  5. * passing `limit` and `period` parameters.
  6. *
  7. * NOT Upgrade safe in 5.4
  8. *
  9. * Setup:
  10. * ---------------
  11. * $ cd <projects>
  12. * $ composer create-project --prefer-dist laravel/laravel <project> "5.2*"
  13. * $ cd <project>
  14. * $ composer require 'bandwidth-throttle/token-bucket'
  15. * $ composer update
  16. */
  17.  
  18. $ artisan tinker
  19. >>> use bandwidthThrottle\tokenBucket\Rate;
  20. => null
  21. >>> use Illuminate\Container\Container;
  22. => null
  23. >>> $app = new Container;
  24. => Illuminate\Container\Container {#634
  25. +contextual: [],
  26. }
  27. >>> $app->bind('quota.rate', function($app, $parameters){
  28. ... return new Rate($parameters['limit'], $parameters['period']);
  29. ... });
  30. => null
  31. >>> $rate = $app->make(
  32. ... 'quota.rate',
  33. ... ['limit' => 60,
  34. ... 'period' => 'seconds'
  35. ]);
  36. => bandwidthThrottle\tokenBucket\Rate {#679}
  37. >>> $rate->getTokensPerSecond();
  38. => 60
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement