apc.php 1.03 KB
Newer Older
1
<?php namespace Laravel\Session\Drivers;
2

3
class APC extends Driver {
4

5 6 7
	/**
	 * The APC cache driver instance.
	 *
Phill Sparks committed
8
	 * @var Laravel\Cache\Drivers\APC
9
	 */
10
	private $apc;
11 12

	/**
13 14
	 * Create a new APC session driver instance.
	 *
Phill Sparks committed
15
	 * @param  Laravel\Cache\Drivers\APC  $apc
16 17
	 * @return void
	 */
18
	public function __construct(\Laravel\Cache\Drivers\APC $apc)
19 20 21 22 23
	{
		$this->apc = $apc;
	}

	/**
24
	 * Load a session from storage by a given ID.
25
	 *
26
	 * If no session is found for the ID, null will be returned.
27
	 *
28 29 30
	 * @param  string  $id
	 * @return array
	 */
31
	public function load($id)
32
	{
33
		return $this->apc->get($id);
34 35
	}

36
	/**
37
	 * Save a given session to storage.
38
	 *
39
	 * @param  array  $session
40
	 * @param  array  $config
41
	 * @param  bool   $exists
42 43
	 * @return void
	 */
44
	public function save($session, $config, $exists)
45
	{
46
		$this->apc->put($session['id'], $session, $config['lifetime']);
47 48
	}

49
	/**
50
	 * Delete a session from storage by a given ID.
51
	 *
52
	 * @param  string  $id
53 54
	 * @return void
	 */
55
	public function delete($id)
56
	{
57
		$this->apc->forget($id);
58 59 60
	}

}