Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

sessionhandlerinterface(3) [php man page]

SESSIONHANDLERINTERFACE(3)						 1						SESSIONHANDLERINTERFACE(3)

The SessionHandlerInterface class

INTRODUCTION
SessionHandlerInterface is an interface which defines a prototype for creating a custom session handler. In order to pass a custom session handler to session_set_save_handler(3) using its OOP invocation, the class must implement this interface. Please note the callback methods of this class are designed to be called internally by PHP and are not meant to be called from user-space code. CLASS SYNOPSIS
SessionHandlerInterface SessionHandlerInterface Methods o abstractpublic bool SessionHandlerInterface::close (void ) o abstractpublic bool SessionHandlerInterface::destroy (string $session_id) o abstractpublic bool SessionHandlerInterface::gc (string $maxlifetime) o abstractpublic bool SessionHandlerInterface::open (string $save_path, string $name) o abstractpublic string SessionHandlerInterface::read (string $session_id) o abstractpublic bool SessionHandlerInterface::write (string $session_id, string $session_data) Example #1 Example using SessionHandlerInterface The following example provides file based session storage similar to the PHP sessions default save handler $files. This example could easily be extended to cover database storage using your favorite PHP supported database engine. Note we use the OOP prototype with session_set_save_handler(3) and register the shutdown function using the function's parameter flag. This is generally advised when registering objects as session save handlers. <?php class MySessionHandler implements SessionHandlerInterface { private $savePath; public function open($savePath, $sessionName) { $this->savePath = $savePath; if (!is_dir($this->savePath)) { mkdir($this->savePath, 0777); } return true; } public function close() { return true; } public function read($id) { return (string)@file_get_contents("$this->savePath/sess_$id"); } public function write($id, $data) { return file_put_contents("$this->savePath/sess_$id", $data) === false ? false : true; } public function destroy($id) { $file = "$this->savePath/sess_$id"; if (file_exists($file)) { unlink($file); } return true; } public function gc($maxlifetime) { foreach (glob("$this->savePath/sess_*") as $file) { if (filemtime($file) + $maxlifetime < time() && file_exists($file)) { unlink($file); } } return true; } } $handler = new MySessionHandler(); session_set_save_handler($handler, true); session_start(); // proceed to set and retrieve values by key from $_SESSION PHP Documentation Group SESSIONHANDLERINTERFACE(3)

Check Out this Related Man Page

ITERATOR(3)								 1							       ITERATOR(3)

The Iterator interface

INTRODUCTION
Interface for external iterators or objects that can be iterated themselves internally. INTERFACE SYNOPSIS
Iterator Iteratorextends Traversable Methods o abstractpublic mixed Iterator::current (void ) o abstractpublic scalar Iterator::key (void ) o abstractpublic void Iterator::next (void ) o abstractpublic void Iterator::rewind (void ) o abstractpublic boolean Iterator::valid (void ) PREDEFINED ITERATORS
PHP already provides a number of iterators for many day to day tasks. See SPL iterators for a list. EXAMPLES
Example #1 Basic usage This example demonstrates in which order methods are called when using foreach with an iterator. <?php class myIterator implements Iterator { private $position = 0; private $array = array( "firstelement", "secondelement", "lastelement", ); public function __construct() { $this->position = 0; } function rewind() { var_dump(__METHOD__); $this->position = 0; } function current() { var_dump(__METHOD__); return $this->array[$this->position]; } function key() { var_dump(__METHOD__); return $this->position; } function next() { var_dump(__METHOD__); ++$this->position; } function valid() { var_dump(__METHOD__); return isset($this->array[$this->position]); } } $it = new myIterator; foreach($it as $key => $value) { var_dump($key, $value); echo " "; } ?> The above example will output something similar to: string(18) "myIterator::rewind" string(17) "myIterator::valid" string(19) "myIterator::current" string(15) "myIterator::key" int(0) string(12) "firstelement" string(16) "myIterator::next" string(17) "myIterator::valid" string(19) "myIterator::current" string(15) "myIterator::key" int(1) string(13) "secondelement" string(16) "myIterator::next" string(17) "myIterator::valid" string(19) "myIterator::current" string(15) "myIterator::key" int(2) string(11) "lastelement" string(16) "myIterator::next" string(17) "myIterator::valid" PHP Documentation Group ITERATOR(3)
Man Page