pickles/docs/PICKLES/Session.html
Josh Sherman 54372d24b7 Updated the last few URL's that were wrong, also generated a new copy of the documentation
Should probably made the documentation piece pre-commit hook or something
2012-10-03 17:46:27 -04:00

373 lines
No EOL
14 KiB
HTML

<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<!-- template designed by Marco Von Ballmoos -->
<title>Docs For Class Session</title>
<link rel="stylesheet" href="../media/stylesheet.css" />
<meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/>
</head>
<body>
<div class="page-body">
<h2 class="class-name">Class Session</h2>
<a name="sec-description"></a>
<div class="info-box">
<div class="info-box-title">Description</div>
<div class="nav-bar">
<span class="disabled">Description</span> |
<a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>)
</div>
<div class="info-box-body">
<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Session Class</p>
<p class="description"><p>Provides session handling via database instead of the file based session handling built into PHP. Using this class requires an array to be defined in place of the boolean true/false (on/off). If simply array(), the datasource will default to the value in $config['pickles']['datasource'] and if the table will default to &quot;sessions&quot;. The format is as follows:</p><p>$config = array( 'pickles' =&gt; array( 'session' =&gt; array( 'datasource' =&gt; 'mysql', 'table' =&gt; 'sessions', ) ) );</p><p>In addition to the configuration variables, a table in your database must be created. The [MySQL] table schema is as follows:</p><p>CREATE TABLE sessions ( id varchar(32) COLLATE utf8_unicode_ci NOT NULL, session text COLLATE utf8_unicode_ci NOT NULL, expires_at datetime NOT NULL, PRIMARY KEY (id) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;</p><p>Note: The reason for not using a model class was to avoid a naming conflict between the Session model and the Session class itself. This will eventually be resolved when I abandon full 5.x support and migrate to 5.3+ (assuming that ever happens).</p></p>
<p class="notes">
Located in <a class="field" href="_classes---Session.php.html">/classes/Session.php</a> (line <span class="field">51</span>)
</p>
<pre>Object
|
--Session</pre>
</div>
</div>
<a name="sec-method-summary"></a>
<div class="info-box">
<div class="info-box-title">Method Summary</span></div>
<div class="nav-bar">
<a href="#sec-description">Description</a> |
<span class="disabled">Methods</span> (<a href="#sec-methods">details</a>)
</div>
<div class="info-box-body">
<div class="method-summary">
<div class="method-definition">
<span class="method-result">Session</span>
<a href="#__construct" title="details" class="method-name">__construct</a>
()
</div>
<div class="method-definition">
<span class="method-result">void</span>
<a href="#__destruct" title="details" class="method-name">__destruct</a>
()
</div>
<div class="method-definition">
<span class="method-result">void</span>
<a href="#close" title="details" class="method-name">close</a>
()
</div>
<div class="method-definition">
<span class="method-result">boolean</span>
<a href="#destroy" title="details" class="method-name">destroy</a>
(<span class="var-type">string</span>&nbsp;<span class="var-name">$id</span>)
</div>
<div class="method-definition">
<span class="method-result">boolean</span>
<a href="#gc" title="details" class="method-name">gc</a>
(<span class="var-type">integer</span>&nbsp;<span class="var-name">$time_to_live</span>)
</div>
<div class="method-definition">
<span class="method-result">void</span>
<a href="#initialize" title="details" class="method-name">initialize</a>
()
</div>
<div class="method-definition">
<span class="method-result">void</span>
<a href="#open" title="details" class="method-name">open</a>
()
</div>
<div class="method-definition">
<span class="method-result">string</span>
<a href="#read" title="details" class="method-name">read</a>
(<span class="var-type">string</span>&nbsp;<span class="var-name">$id</span>)
</div>
<div class="method-definition">
<span class="method-result">boolean</span>
<a href="#write" title="details" class="method-name">write</a>
(<span class="var-type">string</span>&nbsp;<span class="var-name">$id</span>, <span class="var-type">string</span>&nbsp;<span class="var-name">$session</span>)
</div>
</div>
</div>
</div>
<a name="sec-methods"></a>
<div class="info-box">
<div class="info-box-title">Methods</div>
<div class="nav-bar">
<a href="#sec-description">Description</a> |
<a href="#sec-method-summary">Methods</a> (<span class="disabled">details</span>)
</div>
<div class="info-box-body">
<A NAME='method_detail'></A>
<a name="method__construct" id="__construct"><!-- --></a>
<div class="evenrow">
<div class="method-header">
<span class="method-title">Constructor __construct</span> (line <span class="line-number">125</span>)
</div>
<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Constructor</p>
<p class="description"><p>All of our set up logic for the session in contained here. This object is initially instantiated from pickles.php and the session callbacks are established here. All variables are driven from php.ini and/or the site config. Once configured, the session is started automatically.</p></p>
<ul class="tags">
<li><span class="field">access:</span> public</li>
</ul>
<div class="method-signature">
<span class="method-result">Session</span>
<span class="method-name">
__construct
</span>
()
</div>
</div>
<a name="method__destruct" id="__destruct"><!-- --></a>
<div class="oddrow">
<div class="method-header">
<span class="method-title">Destructor __destruct</span> (line <span class="line-number">234</span>)
</div>
<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Destructor</p>
<p class="description"><p>Runs garbage collection and closes the session. I'm not sure if the garbage collection should stay as it could be accomplished via php.ini variables. The session_write_close() is present to combat a chicken and egg scenario in earlier versions of PHP 5.</p></p>
<ul class="tags">
<li><span class="field">access:</span> public</li>
</ul>
<div class="method-signature">
<span class="method-result">void</span>
<span class="method-name">
__destruct
</span>
()
</div>
</div>
<a name="methodclose" id="close"><!-- --></a>
<div class="evenrow">
<div class="method-header">
<span class="method-title">close</span> (line <span class="line-number">284</span>)
</div>
<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Closes the Session</p>
<p class="description"><p>Same as above, but in reverse.</p></p>
<ul class="tags">
<li><span class="field">access:</span> public</li>
</ul>
<div class="method-signature">
<span class="method-result">void</span>
<span class="method-name">
close
</span>
()
</div>
</div>
<a name="methoddestroy" id="destroy"><!-- --></a>
<div class="oddrow">
<div class="method-header">
<span class="method-title">destroy</span> (line <span class="line-number">332</span>)
</div>
<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Destroys the Session</p>
<p class="description"><p>Deletes the session from the database.</p></p>
<ul class="tags">
<li><span class="field">return:</span> whether the query executed correctly</li>
<li><span class="field">access:</span> public</li>
</ul>
<div class="method-signature">
<span class="method-result">boolean</span>
<span class="method-name">
destroy
</span>
(<span class="var-type">string</span>&nbsp;<span class="var-name">$id</span>)
</div>
<ul class="parameters">
<li>
<span class="var-type">string</span>
<span class="var-name">$id</span><span class="var-description">: session ID</span> </li>
</ul>
</div>
<a name="methodgc" id="gc"><!-- --></a>
<div class="evenrow">
<div class="method-header">
<span class="method-title">gc</span> (line <span class="line-number">347</span>)
</div>
<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Garbage Collector</p>
<p class="description"><p>This is who you call when you got trash to be taken out.</p></p>
<ul class="tags">
<li><span class="field">return:</span> whether the query executed correctly</li>
<li><span class="field">access:</span> public</li>
</ul>
<div class="method-signature">
<span class="method-result">boolean</span>
<span class="method-name">
gc
</span>
(<span class="var-type">integer</span>&nbsp;<span class="var-name">$time_to_live</span>)
</div>
<ul class="parameters">
<li>
<span class="var-type">integer</span>
<span class="var-name">$time_to_live</span><span class="var-description">: number of seconds a session is active</span> </li>
</ul>
</div>
<a name="methodinitialize" id="initialize"><!-- --></a>
<div class="oddrow">
<div class="method-header">
<span class="method-title">initialize</span> (line <span class="line-number">250</span>)
</div>
<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Initializes the Session</p>
<p class="description"><p>This method exists to combat the fact that calling session_destroy() also clears out the save handler. Upon destorying a session this method is called again so the save handler is all set.</p></p>
<ul class="tags">
<li><span class="field">access:</span> public</li>
</ul>
<div class="method-signature">
<span class="method-result">void</span>
<span class="method-name">
initialize
</span>
()
</div>
</div>
<a name="methodopen" id="open"><!-- --></a>
<div class="evenrow">
<div class="method-header">
<span class="method-title">open</span> (line <span class="line-number">272</span>)
</div>
<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Opens the Session</p>
<p class="description"><p>Since the session is in the database, opens the database connection. This step isn't really necessary as the Database object is smart enough to open itself up upon execute.</p></p>
<ul class="tags">
<li><span class="field">access:</span> public</li>
</ul>
<div class="method-signature">
<span class="method-result">void</span>
<span class="method-name">
open
</span>
()
</div>
</div>
<a name="methodread" id="read"><!-- --></a>
<div class="oddrow">
<div class="method-header">
<span class="method-title">read</span> (line <span class="line-number">297</span>)
</div>
<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Reads the Session</p>
<p class="description"><p>Checks the database for the session ID and returns the session data.</p></p>
<ul class="tags">
<li><span class="field">return:</span> serialized session data</li>
<li><span class="field">access:</span> public</li>
</ul>
<div class="method-signature">
<span class="method-result">string</span>
<span class="method-name">
read
</span>
(<span class="var-type">string</span>&nbsp;<span class="var-name">$id</span>)
</div>
<ul class="parameters">
<li>
<span class="var-type">string</span>
<span class="var-name">$id</span><span class="var-description">: session ID</span> </li>
</ul>
</div>
<a name="methodwrite" id="write"><!-- --></a>
<div class="evenrow">
<div class="method-header">
<span class="method-title">write</span> (line <span class="line-number">315</span>)
</div>
<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">Writes the Session</p>
<p class="description"><p>When there's changes to the session, writes the data to the database.</p></p>
<ul class="tags">
<li><span class="field">return:</span> whether the query executed correctly</li>
<li><span class="field">access:</span> public</li>
</ul>
<div class="method-signature">
<span class="method-result">boolean</span>
<span class="method-name">
write
</span>
(<span class="var-type">string</span>&nbsp;<span class="var-name">$id</span>, <span class="var-type">string</span>&nbsp;<span class="var-name">$session</span>)
</div>
<ul class="parameters">
<li>
<span class="var-type">string</span>
<span class="var-name">$id</span><span class="var-description">: session ID</span> </li>
<li>
<span class="var-type">string</span>
<span class="var-name">$session</span><span class="var-description">: serialized session data</span> </li>
</ul>
</div>
</div>
</div>
<p class="notes" id="credit">
Documentation generated on Wed, 03 Oct 2012 17:46:06 -0400 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.4.4</a>
</p>
</div></body>
</html>