apc.php 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. <?php namespace Laravel\Session\Drivers;
  2. class APC implements Driver {
  3. /**
  4. * The APC cache driver instance.
  5. *
  6. * @var Cache\Drivers\APC
  7. */
  8. private $apc;
  9. /**
  10. * Create a new APC session driver instance.
  11. *
  12. * @param Cache\Drivers\APC $apc
  13. * @return void
  14. */
  15. public function __construct(\Laravel\Cache\Drivers\APC $apc)
  16. {
  17. $this->apc = $apc;
  18. }
  19. /**
  20. * Load a session from storage by a given ID.
  21. *
  22. * If no session is found for the ID, null will be returned.
  23. *
  24. * @param string $id
  25. * @return array
  26. */
  27. public function load($id)
  28. {
  29. return $this->apc->get($id);
  30. }
  31. /**
  32. * Save a given session to storage.
  33. *
  34. * @param array $session
  35. * @param array $config
  36. * @param bool $exists
  37. * @return void
  38. */
  39. public function save($session, $config, $exists)
  40. {
  41. $this->apc->put($session['id'], $session, $config['lifetime']);
  42. }
  43. /**
  44. * Delete a session from storage by a given ID.
  45. *
  46. * @param string $id
  47. * @return void
  48. */
  49. public function delete($id)
  50. {
  51. $this->apc->forget($id);
  52. }
  53. }