summaryrefslogtreecommitdiffstats
path: root/user_guide
diff options
context:
space:
mode:
Diffstat (limited to 'user_guide')
-rw-r--r--user_guide/database/configuration.html141
-rw-r--r--user_guide/general/caching.html116
-rw-r--r--user_guide/libraries/uri.html253
-rw-r--r--user_guide/overview/at_a_glance.html173
4 files changed, 4 insertions, 679 deletions
diff --git a/user_guide/database/configuration.html b/user_guide/database/configuration.html
index 9c679c967..b8504184c 100644
--- a/user_guide/database/configuration.html
+++ b/user_guide/database/configuration.html
@@ -1,140 +1 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html>
-<head>
-
-<title>CodeIgniter User Guide : Database Configuration</title>
-
-<style type='text/css' media='all'>@import url('../userguide.css');</style>
-<link rel='stylesheet' type='text/css' media='all' href='../userguide.css' />
-
-<script type="text/javascript" src="../nav/nav.js"></script>
-<script type="text/javascript" src="../nav/prototype.lite.js"></script>
-<script type="text/javascript" src="../nav/moo.fx.js"></script>
-<script type="text/javascript" src="../nav/user_guide_menu.js"></script>
-
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-<meta http-equiv='expires' content='-1' />
-<meta http-equiv= 'pragma' content='no-cache' />
-<meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
-<meta name='description' content='CodeIgniter User Guide' />
-
-</head>
-<body>
-
-<!-- START NAVIGATION -->
-<div id="nav"><div id="nav_inner"><script type="text/javascript">create_menu('../');</script></div></div>
-<div id="nav2"><a name="top"></a><a href="javascript:void(0);" onclick="myHeight.toggle();"><img src="../images/nav_toggle.jpg" width="153" height="44" border="0" title="Toggle Table of Contents" alt="Toggle Table of Contents" /></a></div>
-<div id="masthead">
-<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
-<tr>
-<td><h1>CodeIgniter User Guide Version 1.5.4</h1></td>
-<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
-</tr>
-</table>
-</div>
-<!-- END NAVIGATION -->
-
-
-<!-- START BREADCRUMB -->
-<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
-<tr>
-<td id="breadcrumb">
-<a href="http://www.codeigniter.com/">CodeIgniter Home</a> &nbsp;&#8250;&nbsp;
-<a href="../index.html">User Guide Home</a> &nbsp;&#8250;&nbsp;
-<a href="index.html">Database Library</a> &nbsp;&#8250;&nbsp;
-Configuration
-</td>
-<td id="searchbox"><form method="get" action="http://www.google.com/search"><input type="hidden" name="as_sitesearch" id="as_sitesearch" value="codeigniter.com/user_guide/" />Search User Guide&nbsp; <input type="text" class="input" style="width:200px;" name="q" id="q" size="31" maxlength="255" value="" />&nbsp;<input type="submit" class="submit" name="sa" value="Go" /></form></td>
-</tr>
-</table>
-<!-- END BREADCRUMB -->
-
-
-<br clear="all" />
-
-
-<!-- START CONTENT -->
-<div id="content">
-
-
-<h1>Database Configuration</h1>
-
-<p>CodeIgniter has a config file that lets you store your database connection values (username, password, database name, etc.).
-The config file is located at:</p>
-
-<p><kbd>application/config/database.php</kbd></p>
-
-<p>The config settings are stored in a multi-dimensional array with this prototype:</p>
-
-<code>$db['default']['hostname'] = "localhost";<br />
-$db['default']['username'] = "root";<br />
-$db['default']['password'] = "";<br />
-$db['default']['database'] = "database_name";<br />
-$db['default']['dbdriver'] = "mysql";<br />
-$db['default']['dbprefix'] = "";<br />
-$db['default']['pconnect'] = TRUE;<br />
-$db['default']['db_debug'] = FALSE;<br />
-$db['default']['active_r'] = TRUE;</code>
-
-<p>The reason we use a multi-dimensional array rather than a more simple one is to permit you to optionally store
-multiple sets of connection values. If, for example, you run multiple environments (development, production, test, etc.)
-under a single installation, you can set up a connection group for each, then switch between groups as needed.
-For example, to set up a "test" environment you would do this:</p>
-
-<code>$db['test']['hostname'] = "localhost";<br />
-$db['test']['username'] = "root";<br />
-$db['test']['password'] = "";<br />
-$db['test']['database'] = "database_name";<br />
-$db['test']['dbdriver'] = "mysql";<br />
-$db['test']['dbprefix'] = "";<br />
-$db['test']['pconnect'] = TRUE;<br />
-$db['test']['db_debug'] = FALSE;<br />
-$db['test']['active_r'] = TRUE;</code>
-
-
-<p>Then, to globally tell the system to use that group you would set this variable located in the config file:</p>
-
-<code>$active_group = "test";</code>
-
-<p>Note: The name "test" is arbitrary. It can be anything you want. By default we've used the word "default"
-for the primary connection, but it too can be renamed to something more relevant to your project.</p>
-
-<h3>Explanation of Values:</h3>
-
-<ul>
-<li><strong>hostname</strong> - The hostname of your database server. Often this is "localhost".</li>
-<li><strong>username</strong> - The username used to connect to the database.</li>
-<li><strong>password</strong> - The password used to connect to the database.</li>
-<li><strong>database</strong> - The name of the database you want to connect to.</li>
-<li><strong>dbdriver</strong> - The database type. ie: mysql, postgre, obdc, etc. Must be specified in lower case.</li>
-<li><strong>dbprefix</strong> - An optional table prefix which will added to the table name when running <a href="active_record.html">Active Record</a> queries. This permits multiple CodeIgniter installations to share one database.</li>
-<li><strong>pconnect</strong> - TRUE/FALSE (boolean) - Whether to use a persistent connection.</li>
-<li><strong>db_debug</strong> - TRUE/FALSE (boolean) - Whether database errors should be displayed.</li>
-<li><strong>active_r</strong> - TRUE/FALSE (boolean) - Whether to load the <a href="active_record.html">Active Record Class</a>. If you are not using the active record class you can have it omitted when the database classes are initialized in order to utilize less resources.</li>
-<li><strong>port</strong> - The database port number. Currently only used with the Postgre driver.</li>
-</ul>
-
-<p class="important"><strong>Note:</strong> Depending on what database platform you are using (MySQL, Postgre, etc.)
-not all values will be needed. For example, when using SQLite you will not need to supply a username or password, and
-the database name will be the path to your database file. The information above assumes you are using MySQL.</p>
-
-
-
-</div>
-<!-- END CONTENT -->
-
-
-<div id="footer">
-<p>
-Previous Topic:&nbsp;&nbsp;<a href="examples.html">Quck Start: Usage Examples</a>
-&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
-<a href="#top">Top of Page</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
-<a href="../index.html">User Guide Home</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
-Next Topic:&nbsp;&nbsp;<a href="connecting.html">Connecting to your Database</a>
-</p>
-<p><a href="http://www.codeigniter.com">CodeIgniter</a> &nbsp;&middot;&nbsp; Copyright &#169; 2007 &nbsp;&middot;&nbsp; <a href="http://ellislab.com/">Ellislab, Inc.</a></p>
-</div>
-
-</body>
-</html> \ No newline at end of file
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <title>CodeIgniter User Guide : Database Configuration</title> <style type='text/css' media='all'>@import url('../userguide.css');</style> <link rel='stylesheet' type='text/css' media='all' href='../userguide.css' /> <script type="text/javascript" src="../nav/nav.js"></script> <script type="text/javascript" src="../nav/prototype.lite.js"></script> <script type="text/javascript" src="../nav/moo.fx.js"></script> <script type="text/javascript" src="../nav/user_guide_menu.js"></script> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv='expires' content='-1' /> <meta http-equiv= 'pragma' content='no-cache' /> <meta name='robots' content='all' /> <meta name='author' content='Rick Ellis' /> <meta name='description' content='CodeIgniter User Guide' /> </head> <body> <!-- START NAVIGATION --> <div id="nav"><div id="nav_inner"><script type="text/javascript">create_menu('../');</script></div></div> <div id="nav2"><a name="top"></a><a href="javascript:void(0);" onclick="myHeight.toggle();"><img src="../images/nav_toggle.jpg" width="153" height="44" border="0" title="Toggle Table of Contents" alt="Toggle Table of Contents" /></a></div> <div id="masthead"> <table cellpadding="0" cellspacing="0" border="0" style="width:100%"> <tr> <td><h1>CodeIgniter User Guide Version 1.5.4</h1></td> <td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td> </tr> </table> </div> <!-- END NAVIGATION --> <!-- START BREADCRUMB --> <table cellpadding="0" cellspacing="0" border="0" style="width:100%"> <tr> <td id="breadcrumb"> <a href="http://www.codeigniter.com/">CodeIgniter Home</a> &nbsp;&#8250;&nbsp; <a href="../index.html">User Guide Home</a> &nbsp;&#8250;&nbsp; <a href="index.html">Database Library</a> &nbsp;&#8250;&nbsp; Configuration </td> <td id="searchbox"><form method="get" action="http://www.google.com/search"><input type="hidden" name="as_sitesearch" id="as_sitesearch" value="codeigniter.com/user_guide/" />Search User Guide&nbsp; <input type="text" class="input" style="width:200px;" name="q" id="q" size="31" maxlength="255" value="" />&nbsp;<input type="submit" class="submit" name="sa" value="Go" /></form></td> </tr> </table> <!-- END BREADCRUMB --> <br clear="all" /> <!-- START CONTENT --> <div id="content"> <h1>Database Configuration</h1> <p>CodeIgniter has a config file that lets you store your database connection values (username, password, database name, etc.). The config file is located at:</p> <p><kbd>application/config/database.php</kbd></p> <p>The config settings are stored in a multi-dimensional array with this prototype:</p> <code>$db['default']['hostname'] = "localhost";<br /> $db['default']['username'] = "root";<br /> $db['default']['password'] = "";<br /> $db['default']['database'] = "database_name";<br /> $db['default']['dbdriver'] = "mysql";<br /> $db['default']['dbprefix'] = "";<br /> $db['default']['pconnect'] = TRUE;<br /> $db['default']['db_debug'] = FALSE;<br /> $db['default']['active_r'] = TRUE;</code> <p>The reason we use a multi-dimensional array rather than a more simple one is to permit you to optionally store multiple sets of connection values. If, for example, you run multiple environments (development, production, test, etc.) under a single installation, you can set up a connection group for each, then switch between groups as needed. For example, to set up a "test" environment you would do this:</p> <code>$db['test']['hostname'] = "localhost";<br /> $db['test']['username'] = "root";<br /> $db['test']['password'] = "";<br /> $db['test']['database'] = "database_name";<br /> $db['test']['dbdriver'] = "mysql";<br /> $db['test']['dbprefix'] = "";<br /> $db['test']['pconnect'] = TRUE;<br /> $db['test']['db_debug'] = FALSE;<br /> $db['test']['active_r'] = TRUE;</code> <p>Then, to globally tell the system to use that group you would set this variable located in the config file:</p> <code>$active_group = "test";</code> <p>Note: The name "test" is arbitrary. It can be anything you want. By default we've used the word "default" for the primary connection, but it too can be renamed to something more relevant to your project.</p> <h3>Explanation of Values:</h3> <ul> <li><strong>hostname</strong> - The hostname of your database server. Often this is "localhost".</li> <li><strong>username</strong> - The username used to connect to the database.</li> <li><strong>password</strong> - The password used to connect to the database.</li> <li><strong>database</strong> - The name of the database you want to connect to.</li> <li><strong>dbdriver</strong> - The database type. ie: mysql, postgre, obdc, etc. Must be specified in lower case.</li> <li><strong>dbprefix</strong> - An optional table prefix which will added to the table name when running <a href="active_record.html">Active Record</a> queries. This permits multiple CodeIgniter installations to share one database.</li> <li><strong>pconnect</strong> - TRUE/FALSE (boolean) - Whether to use a persistent connection.</li> <li><strong>db_debug</strong> - TRUE/FALSE (boolean) - Whether database errors should be displayed.</li> <li><strong>active_r</strong> - TRUE/FALSE (boolean) - Whether to load the <a href="active_record.html">Active Record Class</a>. If you are not using the active record class you can have it omitted when the database classes are initialized in order to utilize less resources. <p class="important"><strong>Note:</strong> that some CodeIgniter classes such as Sessions require Active Records be enabled to access certain functionality.</p></li> <li><strong>port</strong> - The database port number. Currently only used with the Postgre driver.</li> </ul> <p class="important"><strong>Note:</strong> Depending on what database platform you are using (MySQL, Postgre, etc.) not all values will be needed. For example, when using SQLite you will not need to supply a username or password, and the database name will be the path to your database file. The information above assumes you are using MySQL.</p> </div> <!-- END CONTENT --> <div id="footer"> <p> Previous Topic:&nbsp;&nbsp;<a href="examples.html">Quck Start: Usage Examples</a> &nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp; <a href="#top">Top of Page</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp; <a href="../index.html">User Guide Home</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp; Next Topic:&nbsp;&nbsp;<a href="connecting.html">Connecting to your Database</a> </p> <p><a href="http://www.codeigniter.com">CodeIgniter</a> &nbsp;&middot;&nbsp; Copyright &#169; 2007 &nbsp;&middot;&nbsp; <a href="http://ellislab.com/">Ellislab, Inc.</a></p> </div> </body> </html> \ No newline at end of file
diff --git a/user_guide/general/caching.html b/user_guide/general/caching.html
index c9a38a965..6da925f9a 100644
--- a/user_guide/general/caching.html
+++ b/user_guide/general/caching.html
@@ -1,115 +1 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html>
-<head>
-
-<title>CodeIgniter User Guide : Web Page Caching</title>
-
-<style type='text/css' media='all'>@import url('../userguide.css');</style>
-<link rel='stylesheet' type='text/css' media='all' href='../userguide.css' />
-
-<script type="text/javascript" src="../nav/nav.js"></script>
-<script type="text/javascript" src="../nav/prototype.lite.js"></script>
-<script type="text/javascript" src="../nav/moo.fx.js"></script>
-<script type="text/javascript" src="../nav/user_guide_menu.js"></script>
-
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-<meta http-equiv='expires' content='-1' />
-<meta http-equiv= 'pragma' content='no-cache' />
-<meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
-<meta name='description' content='CodeIgniter User Guide' />
-
-</head>
-<body>
-
-<!-- START NAVIGATION -->
-<div id="nav"><div id="nav_inner"><script type="text/javascript">create_menu('../');</script></div></div>
-<div id="nav2"><a name="top"></a><a href="javascript:void(0);" onclick="myHeight.toggle();"><img src="../images/nav_toggle.jpg" width="153" height="44" border="0" title="Toggle Table of Contents" alt="Toggle Table of Contents" /></a></div>
-<div id="masthead">
-<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
-<tr>
-<td><h1>CodeIgniter User Guide Version 1.5.4</h1></td>
-<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
-</tr>
-</table>
-</div>
-<!-- END NAVIGATION -->
-
-
-<!-- START BREADCRUMB -->
-<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
-<tr>
-<td id="breadcrumb">
-<a href="http://www.codeigniter.com/">CodeIgniter Home</a> &nbsp;&#8250;&nbsp;
-<a href="../index.html">User Guide Home</a> &nbsp;&#8250;&nbsp;
-Page Caching
-</td>
-<td id="searchbox"><form method="get" action="http://www.google.com/search"><input type="hidden" name="as_sitesearch" id="as_sitesearch" value="codeigniter.com/user_guide/" />Search User Guide&nbsp; <input type="text" class="input" style="width:200px;" name="q" id="q" size="31" maxlength="255" value="" />&nbsp;<input type="submit" class="submit" name="sa" value="Go" /></form></td>
-</tr>
-</table>
-<!-- END BREADCRUMB -->
-
-<br clear="all" />
-
-
-<!-- START CONTENT -->
-<div id="content">
-
-
-<h1>Web Page Caching</h1>
-
-<p>CodeIgniter lets you cache your pages in order to achieve maximum performance.</p>
-
-<p>Although CodeIgniter is quite fast, the amount of dynamic information you display in your pages will correlate directly to the
-server resources, memory, and processing cycles utilized, which affect your page load speeds.
-By caching your pages, since they are saved in their fully rendered state, you can achieve performance that nears that of static web pages.</p>
-
-
-<h2>How Does Caching Work?</h2>
-
-<p>Caching can be enabled on a per-page basis, and you can set the length of time that a page should remain cached before being refreshed.
-When a page is loaded for the first time, the cache file will be written to your <dfn>system/cache</dfn> folder. On subsequent page loads the cache file will be retrieved
-and sent to the requesting user's browser. If it has expired, it will be deleted and refreshed before being sent to the browser.</p>
-
-<p>Note: The Benchmark tag is not cached so you can still view your page load speed when caching is enabled.</p>
-
-<h2>Enabling Caching</h2>
-
-<p>To enable caching, put the following tag in any of your controller functions:</p>
-
-<code>$this->output->cache(<var>n</var>);</code>
-
-<p>Where <var>n</var> is the number of <strong>minutes</strong> you wish the page to remain cached between refreshes.</p>
-
-<p>The above tag can go anywhere within a function. It is not affected by the order that it appears, so place it wherever it seems
-most logical to you. Once the tag is in place, your pages will begin being cached.</p>
-
-<p class="important"><strong>Warning:</strong> Because of the way CodeIgniter stores content for output, caching will only work if you are generating display for your controller with a <a href="./views.html">view</a>.</p>
-<p class="important"><strong>Note:</strong> Before the cache files can be written you must set the file permissions on your
-<dfn>system/cache</dfn> folder such that it is writable (666 is usually appropriate).</p>
-
-<h2>Deleting Caches</h2>
-
-<p>If you no longer wish to cache a file you can remove the caching tag and it will no longer be refreshed when it expires. Note:
-Removing the tag will not delete the cache immediately. It will have to expire normally. If you need to remove it earlier you
-will need to manually delete it from your cache folder.</p>
-
-
-
-</div>
-<!-- END CONTENT -->
-
-
-<div id="footer">
-<p>
-Previous Topic:&nbsp;&nbsp;<a href="errors.html">Error Handling</a>
-&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
-<a href="#top">Top of Page</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
-<a href="../index.html">User Guide Home</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
-Next Topic:&nbsp;&nbsp;<a href="profiling.html">Profiling Your Application</a>
-</p>
-<p><a href="http://www.codeigniter.com">CodeIgniter</a> &nbsp;&middot;&nbsp; Copyright &#169; 2007 &nbsp;&middot;&nbsp; <a href="http://ellislab.com/">Ellislab, Inc.</a></p>
-</div>
-
-</body>
-</html> \ No newline at end of file
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <title>CodeIgniter User Guide : Web Page Caching</title> <style type='text/css' media='all'>@import url('../userguide.css');</style> <link rel='stylesheet' type='text/css' media='all' href='../userguide.css' /> <script type="text/javascript" src="../nav/nav.js"></script> <script type="text/javascript" src="../nav/prototype.lite.js"></script> <script type="text/javascript" src="../nav/moo.fx.js"></script> <script type="text/javascript" src="../nav/user_guide_menu.js"></script> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv='expires' content='-1' /> <meta http-equiv= 'pragma' content='no-cache' /> <meta name='robots' content='all' /> <meta name='author' content='Rick Ellis' /> <meta name='description' content='CodeIgniter User Guide' /> </head> <body> <!-- START NAVIGATION --> <div id="nav"><div id="nav_inner"><script type="text/javascript">create_menu('../');</script></div></div> <div id="nav2"><a name="top"></a><a href="javascript:void(0);" onclick="myHeight.toggle();"><img src="../images/nav_toggle.jpg" width="153" height="44" border="0" title="Toggle Table of Contents" alt="Toggle Table of Contents" /></a></div> <div id="masthead"> <table cellpadding="0" cellspacing="0" border="0" style="width:100%"> <tr> <td><h1>CodeIgniter User Guide Version 1.5.4</h1></td> <td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td> </tr> </table> </div> <!-- END NAVIGATION --> <!-- START BREADCRUMB --> <table cellpadding="0" cellspacing="0" border="0" style="width:100%"> <tr> <td id="breadcrumb"> <a href="http://www.codeigniter.com/">CodeIgniter Home</a> &nbsp;&#8250;&nbsp; <a href="../index.html">User Guide Home</a> &nbsp;&#8250;&nbsp; Page Caching </td> <td id="searchbox"><form method="get" action="http://www.google.com/search"><input type="hidden" name="as_sitesearch" id="as_sitesearch" value="codeigniter.com/user_guide/" />Search User Guide&nbsp; <input type="text" class="input" style="width:200px;" name="q" id="q" size="31" maxlength="255" value="" />&nbsp;<input type="submit" class="submit" name="sa" value="Go" /></form></td> </tr> </table> <!-- END BREADCRUMB --> <br clear="all" /> <!-- START CONTENT --> <div id="content"> <h1>Web Page Caching</h1> <p>CodeIgniter lets you cache your pages in order to achieve maximum performance.</p> <p>Although CodeIgniter is quite fast, the amount of dynamic information you display in your pages will correlate directly to the server resources, memory, and processing cycles utilized, which affect your page load speeds. By caching your pages, since they are saved in their fully rendered state, you can achieve performance that nears that of static web pages.</p> <h2>How Does Caching Work?</h2> <p>Caching can be enabled on a per-page basis, and you can set the length of time that a page should remain cached before being refreshed. When a page is loaded for the first time, the cache file will be written to your <dfn>system/cache</dfn> folder. On subsequent page loads the cache file will be retrieved and sent to the requesting user's browser. If it has expired, it will be deleted and refreshed before being sent to the browser.</p> <p>Note: The Benchmark tag is not cached so you can still view your page load speed when caching is enabled.</p> <h2>Enabling Caching</h2> <p>To enable caching, put the following tag in any of your controller functions:</p> <code>$this->output->cache(<var>n</var>);</code> <p>Where <var>n</var> is the number of <strong>minutes</strong> you wish the page to remain cached between refreshes.</p> <p>The above tag can go anywhere within a function. It is not affected by the order that it appears, so place it wherever it seems most logical to you. Once the tag is in place, your pages will begin being cached.</p> <p class="important"><strong>Warning:</strong> Because of the way CodeIgniter stores content for output, caching will only work if you are generating display for your controller with a <a href="./views.html">view</a>.</p> <p class="important"><strong>Note:</strong> Before the cache files can be written you must set the file permissions on your <dfn>system/cache</dfn> folder such that it is writable (666 is usually appropriate, some servers require 777).</p> <h2>Deleting Caches</h2> <p>If you no longer wish to cache a file you can remove the caching tag and it will no longer be refreshed when it expires. Note: Removing the tag will not delete the cache immediately. It will have to expire normally. If you need to remove it earlier you will need to manually delete it from your cache folder.</p> </div> <!-- END CONTENT --> <div id="footer"> <p> Previous Topic:&nbsp;&nbsp;<a href="errors.html">Error Handling</a> &nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp; <a href="#top">Top of Page</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp; <a href="../index.html">User Guide Home</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp; Next Topic:&nbsp;&nbsp;<a href="profiling.html">Profiling Your Application</a> </p> <p><a href="http://www.codeigniter.com">CodeIgniter</a> &nbsp;&middot;&nbsp; Copyright &#169; 2007 &nbsp;&middot;&nbsp; <a href="http://ellislab.com/">Ellislab, Inc.</a></p> </div> </body> </html> \ No newline at end of file
diff --git a/user_guide/libraries/uri.html b/user_guide/libraries/uri.html
index 0205d97e7..4b71480bb 100644
--- a/user_guide/libraries/uri.html
+++ b/user_guide/libraries/uri.html
@@ -1,252 +1 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html>
-<head>
-
-<title>CodeIgniter User Guide : URI Class</title>
-
-<style type='text/css' media='all'>@import url('../userguide.css');</style>
-<link rel='stylesheet' type='text/css' media='all' href='../userguide.css' />
-
-<script type="text/javascript" src="../nav/nav.js"></script>
-<script type="text/javascript" src="../nav/prototype.lite.js"></script>
-<script type="text/javascript" src="../nav/moo.fx.js"></script>
-<script type="text/javascript" src="../nav/user_guide_menu.js"></script>
-
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-<meta http-equiv='expires' content='-1' />
-<meta http-equiv= 'pragma' content='no-cache' />
-<meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
-<meta name='description' content='CodeIgniter User Guide' />
-
-</head>
-<body>
-
-<!-- START NAVIGATION -->
-<div id="nav"><div id="nav_inner"><script type="text/javascript">create_menu('../');</script></div></div>
-<div id="nav2"><a name="top"></a><a href="javascript:void(0);" onclick="myHeight.toggle();"><img src="../images/nav_toggle.jpg" width="153" height="44" border="0" title="Toggle Table of Contents" alt="Toggle Table of Contents" /></a></div>
-<div id="masthead">
-<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
-<tr>
-<td><h1>CodeIgniter User Guide Version 1.5.4</h1></td>
-<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
-</tr>
-</table>
-</div>
-<!-- END NAVIGATION -->
-
-
-<!-- START BREADCRUMB -->
-<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
-<tr>
-<td id="breadcrumb">
-<a href="http://www.codeigniter.com/">CodeIgniter Home</a> &nbsp;&#8250;&nbsp;
-<a href="../index.html">User Guide Home</a> &nbsp;&#8250;&nbsp;
-URI Class
-</td>
-<td id="searchbox"><form method="get" action="http://www.google.com/search"><input type="hidden" name="as_sitesearch" id="as_sitesearch" value="codeigniter.com/user_guide/" />Search User Guide&nbsp; <input type="text" class="input" style="width:200px;" name="q" id="q" size="31" maxlength="255" value="" />&nbsp;<input type="submit" class="submit" name="sa" value="Go" /></form></td>
-</tr>
-</table>
-<!-- END BREADCRUMB -->
-
-<br clear="all" />
-
-
-<!-- START CONTENT -->
-<div id="content">
-
-
-<h1>URI Class</h1>
-
-<p>The URI Class provides functions that help you retrieve information from your URI strings. If you use URI routing, you can
-also retrieve information about the re-routed segments.</p>
-
-<p class="important"><strong>Note:</strong> This class is initialized automatically by the system so there is no need to do it manually.</p>
-
-<h2>$this->uri->segment(<var>n</var>)</h2>
-
-<p>Permits you to retrieve a specific segment. Where <var>n</var> is the segment number you wish to retrieve.
-Segments are numbered from left to right. For example, if your full URL is this:</p>
-
-<code>http://www.your-site.com/index.php/news/local/metro/crime_is_up</code>
-
-<p>The segment numbers would be this:</p>
-
-<ol>
-<li>news</li>
-<li>local</li>
-<li>metro</li>
-<li>crime_is_up</li>
-</ol>
-
-<p>By default the function returns FALSE (boolean) if the segment does not exist. There is an optional second parameter that
-permits you to set your own default value if the segment is missing.
-For example, this would tell the function to return the number zero in the event of failure:</p>
-
-<code>$product_id = $this->uri->segment(3, 0);</code>
-
-<p>It helps avoid having to write code like this:</p>
-
-<code>if ($this->uri->segment(3) === FALSE)<br />
-{<br />
-&nbsp;&nbsp;&nbsp;&nbsp;$product_id = 0;<br />
-}<br />
-else<br />
-{<br />
-&nbsp;&nbsp;&nbsp;&nbsp;$product_id = $this->uri->segment(3);<br />
-}<br />
-</code>
-
-<h2>$this->uri->rsegment(<var>n</var>)</h2>
-
-<p>This function is identical to the previous one, except that it lets you retrieve a specific segment from your
-re-routed URI in the event you are using CodeIgniter's <a href="../general/routing.html">URI Routing</a> feature.</p>
-
-
-<h2>$this->uri->slash_segment(<var>n</var>)</h2>
-
-<p>This function is almost identical to <dfn>$this->uri->segment()</dfn>, except it adds a trailing and/or leading slash based on the second
-parameter. If the parameter is not used, a trailing slash added. Examples:</p>
-
-<code>$this->uri->slash_segment(<var>3</var>);<br />
-$this->uri->slash_segment(<var>3</var>, 'leading');<br />
-$this->uri->slash_segment(<var>3</var>, 'both');</code>
-
-<p>Returns:</p>
-
-<ol>
-<li>segment/</li>
-<li>/segment</li>
-<li>/segment/</li>
-</ol>
-
-
-<h2>$this->uri->slash_rsegment(<var>n</var>)</h2>
-
-<p>This function is identical to the previous one, except that it lets you add slashes a specific segment from your
-re-routed URI in the event you are using CodeIgniter's <a href="../general/routing.html">URI Routing</a> feature.</p>
-
-
-
-<h2>$this->uri->uri_to_assoc(<var>n</var>)</h2>
-
-<p>This function lets you turn URI segments into and associative array of key/value pairs. Consider this URI:</p>
-
-<code>index.php/user/search/name/joe/location/UK/gender/male</code>
-
-<p>Using this function you can turn the URI into an associative array with this prototype:</p>
-
-<code>[array]<br />
-(<br />
-&nbsp;&nbsp;&nbsp;&nbsp;'name' => 'joe'<br />
-&nbsp;&nbsp;&nbsp;&nbsp;'location' => 'UK'<br />
-&nbsp;&nbsp;&nbsp;&nbsp;'gender' => 'male'<br />
-)</code>
-
-<p>The first parameter of the function lets you set an offset. By default it is set to <kbd>3</kbd> since your
-URI will normally contain a controller/function in the first and second segments. Example:</p>
-
-<code>
-$array = $this->uri->uri_to_assoc(3);<br />
-<br />
-echo $array['name'];
-</code>
-
-
-<p>The second parameter lets you set default key names, so that the array returned by the function will always contain expected indexes, even if missing from the URI. Example:</p>
-
-<code>
-$default = array('name', 'gender', 'location', 'type', 'sort');<br />
-<br />
-$array = $this->uri->uri_to_assoc(3, $default);</code>
-
-<p>If the URI does not contain a value in your default, an array index will be set to that name, with a value of FALSE.</p>
-
-<p>Lastly, if a corresponding value is not found for a given key (if there is an odd number of URI segments) the value will be set to FALSE (boolean).</p>
-
-
-<h2>$this->uri->ruri_to_assoc(<var>n</var>)</h2>
-
-<p>This function is identical to the previous one, except that it creates an associative array using the
-re-routed URI in the event you are using CodeIgniter's <a href="../general/routing.html">URI Routing</a> feature.</p>
-
-
-<h2>$this->uri->assoc_to_uri()</h2>
-
-<p>Takes an associative array as input and generates a URI string from it. The array keys will be included in the string. Example:</p>
-
-<code>$array = array('product' => 'shoes', 'size' => 'large', 'color' => 'red');<br />
-<br />
-$str = $this->uri->assoc_to_uri($array);<br />
-<br />
-// Produces: product/shoes/size/large/color/red
-</code>
-
-
-<h2>$this->uri->uri_string()</h2>
-
-<p>Returns a string with the complete URI. For example, if this is your full URL:</p>
-
-<code>http://www.your-site.com/index.php/news/local/345</code>
-
-<p>The function would return this:</p>
-
-<code>news/local/345</code>
-
-
-<h2>$this->uri->ruri_string(<var>n</var>)</h2>
-
-<p>This function is identical to the previous one, except that it returns the
-re-routed URI in the event you are using CodeIgniter's <a href="../general/routing.html">URI Routing</a> feature.</p>
-
-
-
-<h2>$this->uri->total_segments()</h2>
-
-<p>Returns the total number of segments.</p>
-
-
-<h2>$this->uri->total_rsegments(<var>n</var>)</h2>
-
-<p>This function is identical to the previous one, except that it returns the total number of segments in your
-re-routed URI in the event you are using CodeIgniter's <a href="../general/routing.html">URI Routing</a> feature.</p>
-
-
-
-<h2>$this->uri->segment_array()</h2>
-
-<p>Returns an array containing the URI segments. For example:</p>
-
-<code>
-$segs = $this->uri->segment_array();<br />
-<br />
-foreach ($segs as $segment)<br />
-{<br />
-&nbsp;&nbsp;&nbsp;&nbsp;echo $segment;<br />
-&nbsp;&nbsp;&nbsp;&nbsp;echo '&lt;br />';<br />
-}</code>
-
-<h2>$this->uri->rsegment_array(<var>n</var>)</h2>
-
-<p>This function is identical to the previous one, except that it returns the array of segments in your
-re-routed URI in the event you are using CodeIgniter's <a href="../general/routing.html">URI Routing</a> feature.
-
-
-
-</div>
-<!-- END CONTENT -->
-
-
-<div id="footer">
-<p>
-Previous Topic:&nbsp;&nbsp;<a href="unit_testing.html">Unit Testing Class</a>
-&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
-<a href="#top">Top of Page</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
-<a href="../index.html">User Guide Home</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
-Next Topic:&nbsp;&nbsp;<a href="user_agent.html">User Agent Class</a>
-</p>
-<p><a href="http://www.codeigniter.com">CodeIgniter</a> &nbsp;&middot;&nbsp; Copyright &#169; 2007 &nbsp;&middot;&nbsp; <a href="http://ellislab.com/">Ellislab, Inc.</a></p>
-</div>
-
-</body>
-</html> \ No newline at end of file
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <title>CodeIgniter User Guide : URI Class</title> <style type='text/css' media='all'>@import url('../userguide.css');</style> <link rel='stylesheet' type='text/css' media='all' href='../userguide.css' /> <script type="text/javascript" src="../nav/nav.js"></script> <script type="text/javascript" src="../nav/prototype.lite.js"></script> <script type="text/javascript" src="../nav/moo.fx.js"></script> <script type="text/javascript" src="../nav/user_guide_menu.js"></script> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv='expires' content='-1' /> <meta http-equiv= 'pragma' content='no-cache' /> <meta name='robots' content='all' /> <meta name='author' content='Rick Ellis' /> <meta name='description' content='CodeIgniter User Guide' /> </head> <body> <!-- START NAVIGATION --> <div id="nav"><div id="nav_inner"><script type="text/javascript">create_menu('../');</script></div></div> <div id="nav2"><a name="top"></a><a href="javascript:void(0);" onclick="myHeight.toggle();"><img src="../images/nav_toggle.jpg" width="153" height="44" border="0" title="Toggle Table of Contents" alt="Toggle Table of Contents" /></a></div> <div id="masthead"> <table cellpadding="0" cellspacing="0" border="0" style="width:100%"> <tr> <td><h1>CodeIgniter User Guide Version 1.5.4</h1></td> <td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td> </tr> </table> </div> <!-- END NAVIGATION --> <!-- START BREADCRUMB --> <table cellpadding="0" cellspacing="0" border="0" style="width:100%"> <tr> <td id="breadcrumb"> <a href="http://www.codeigniter.com/">CodeIgniter Home</a> &nbsp;&#8250;&nbsp; <a href="../index.html">User Guide Home</a> &nbsp;&#8250;&nbsp; URI Class </td> <td id="searchbox"><form method="get" action="http://www.google.com/search"><input type="hidden" name="as_sitesearch" id="as_sitesearch" value="codeigniter.com/user_guide/" />Search User Guide&nbsp; <input type="text" class="input" style="width:200px;" name="q" id="q" size="31" maxlength="255" value="" />&nbsp;<input type="submit" class="submit" name="sa" value="Go" /></form></td> </tr> </table> <!-- END BREADCRUMB --> <br clear="all" /> <!-- START CONTENT --> <div id="content"> <h1>URI Class</h1> <p>The URI Class provides functions that help you retrieve information from your URI strings. If you use URI routing, you can also retrieve information about the re-routed segments.</p> <p class="important"><strong>Note:</strong> This class is initialized automatically by the system so there is no need to do it manually.</p> <h2>$this->uri->segment(<var>n</var>)</h2> <p>Permits you to retrieve a specific segment. Where <var>n</var> is the segment number you wish to retrieve. Segments are numbered from left to right. For example, if your full URL is this:</p> <code>http://www.your-site.com/index.php/news/local/metro/crime_is_up</code> <p>The segment numbers would be this:</p> <ol> <li>news</li> <li>local</li> <li>metro</li> <li>crime_is_up</li> </ol> <p>By default the function returns FALSE (boolean) if the segment does not exist. There is an optional second parameter that permits you to set your own default value if the segment is missing. For example, this would tell the function to return the number zero in the event of failure:</p> <code>$product_id = $this->uri->segment(3, 0);</code> <p>It helps avoid having to write code like this:</p> <code>if ($this->uri->segment(3) === FALSE)<br /> {<br /> &nbsp;&nbsp;&nbsp;&nbsp;$product_id = 0;<br /> }<br /> else<br /> {<br /> &nbsp;&nbsp;&nbsp;&nbsp;$product_id = $this->uri->segment(3);<br /> }<br /> </code> <h2>$this->uri->rsegment(<var>n</var>)</h2> <p>This function is identical to the previous one, except that it lets you retrieve a specific segment from your re-routed URI in the event you are using CodeIgniter's <a href="../general/routing.html">URI Routing</a> feature.</p> <h2>$this->uri->slash_segment(<var>n</var>)</h2> <p>This function is almost identical to <dfn>$this->uri->segment()</dfn>, except it adds a trailing and/or leading slash based on the second parameter. If the parameter is not used, a trailing slash added. Examples:</p> <code>$this->uri->slash_segment(<var>3</var>);<br /> $this->uri->slash_segment(<var>3</var>, 'leading');<br /> $this->uri->slash_segment(<var>3</var>, 'both');</code> <p>Returns:</p> <ol> <li>segment/</li> <li>/segment</li> <li>/segment/</li> </ol> <h2>$this->uri->slash_rsegment(<var>n</var>)</h2> <p>This function is identical to the previous one, except that it lets you add slashes a specific segment from your re-routed URI in the event you are using CodeIgniter's <a href="../general/routing.html">URI Routing</a> feature.</p> <h2>$this->uri->uri_to_assoc(<var>n</var>)</h2> <p>This function lets you turn URI segments into and associative array of key/value pairs. Consider this URI:</p> <code>index.php/user/search/name/joe/location/UK/gender/male</code> <p>Using this function you can turn the URI into an associative array with this prototype:</p> <code>[array]<br /> (<br /> &nbsp;&nbsp;&nbsp;&nbsp;'name' => 'joe'<br /> &nbsp;&nbsp;&nbsp;&nbsp;'location' => 'UK'<br /> &nbsp;&nbsp;&nbsp;&nbsp;'gender' => 'male'<br /> )</code> <p>The first parameter of the function lets you set an offset. By default it is set to <kbd>3</kbd> since your URI will normally contain a controller/function in the first and second segments. Example:</p> <code> $array = $this->uri->uri_to_assoc(3);<br /> <br /> echo $array['name']; </code> <p>The second parameter lets you set default key names, so that the array returned by the function will always contain expected indexes, even if missing from the URI. Example:</p> <code> $default = array('name', 'gender', 'location', 'type', 'sort');<br /> <br /> $array = $this->uri->uri_to_assoc(3, $default);</code> <p>If the URI does not contain a value in your default, an array index will be set to that name, with a value of FALSE.</p> <p>Lastly, if a corresponding value is not found for a given key (if there is an odd number of URI segments) the value will be set to FALSE (boolean).</p> <h2>$this->uri->ruri_to_assoc(<var>n</var>)</h2> <p>This function is identical to the previous one, except that it creates an associative array using the re-routed URI in the event you are using CodeIgniter's <a href="../general/routing.html">URI Routing</a> feature.</p> <h2>$this->uri->assoc_to_uri()</h2> <p>Takes an associative array as input and generates a URI string from it. The array keys will be included in the string. Example:</p> <code>$array = array('product' => 'shoes', 'size' => 'large', 'color' => 'red');<br /> <br /> $str = $this->uri->assoc_to_uri($array);<br /> <br /> // Produces: product/shoes/size/large/color/red </code> <h2>$this->uri->uri_string()</h2> <p>Returns a string with the complete URI. For example, if this is your full URL:</p> <code>http://www.your-site.com/index.php/news/local/345</code> <p>The function would return this:</p> <code>/news/local/345</code> <h2>$this->uri->ruri_string(<var>n</var>)</h2> <p>This function is identical to the previous one, except that it returns the re-routed URI in the event you are using CodeIgniter's <a href="../general/routing.html">URI Routing</a> feature.</p> <h2>$this->uri->total_segments()</h2> <p>Returns the total number of segments.</p> <h2>$this->uri->total_rsegments(<var>n</var>)</h2> <p>This function is identical to the previous one, except that it returns the total number of segments in your re-routed URI in the event you are using CodeIgniter's <a href="../general/routing.html">URI Routing</a> feature.</p> <h2>$this->uri->segment_array()</h2> <p>Returns an array containing the URI segments. For example:</p> <code> $segs = $this->uri->segment_array();<br /> <br /> foreach ($segs as $segment)<br /> {<br /> &nbsp;&nbsp;&nbsp;&nbsp;echo $segment;<br /> &nbsp;&nbsp;&nbsp;&nbsp;echo '&lt;br />';<br /> }</code> <h2>$this->uri->rsegment_array(<var>n</var>)</h2> <p>This function is identical to the previous one, except that it returns the array of segments in your re-routed URI in the event you are using CodeIgniter's <a href="../general/routing.html">URI Routing</a> feature. </div> <!-- END CONTENT --> <div id="footer"> <p> Previous Topic:&nbsp;&nbsp;<a href="unit_testing.html">Unit Testing Class</a> &nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp; <a href="#top">Top of Page</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp; <a href="../index.html">User Guide Home</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp; Next Topic:&nbsp;&nbsp;<a href="user_agent.html">User Agent Class</a> </p> <p><a href="http://www.codeigniter.com">CodeIgniter</a> &nbsp;&middot;&nbsp; Copyright &#169; 2007 &nbsp;&middot;&nbsp; <a href="http://ellislab.com/">Ellislab, Inc.</a></p> </div> </body> </html> \ No newline at end of file
diff --git a/user_guide/overview/at_a_glance.html b/user_guide/overview/at_a_glance.html
index 0294cef4e..8614daed3 100644
--- a/user_guide/overview/at_a_glance.html
+++ b/user_guide/overview/at_a_glance.html
@@ -1,172 +1 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html>
-<head>
-
-<title>CodeIgniter User Guide : CodeIgniter at a Glance</title>
-
-<style type='text/css' media='all'>@import url('../userguide.css');</style>
-<link rel='stylesheet' type='text/css' media='all' href='../userguide.css' />
-
-<script type="text/javascript" src="../nav/nav.js"></script>
-<script type="text/javascript" src="../nav/prototype.lite.js"></script>
-<script type="text/javascript" src="../nav/moo.fx.js"></script>
-<script type="text/javascript" src="../nav/user_guide_menu.js"></script>
-
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-<meta http-equiv='expires' content='-1' />
-<meta http-equiv= 'pragma' content='no-cache' />
-<meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
-<meta name='description' content='CodeIgniter User Guide' />
-
-</head>
-<body>
-
-<!-- START NAVIGATION -->
-<div id="nav"><div id="nav_inner"><script type="text/javascript">create_menu('../');</script></div></div>
-<div id="nav2"><a name="top"></a><a href="javascript:void(0);" onclick="myHeight.toggle();"><img src="../images/nav_toggle.jpg" width="153" height="44" border="0" title="Toggle Table of Contents" alt="Toggle Table of Contents" /></a></div>
-<div id="masthead">
-<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
-<tr>
-<td><h1>CodeIgniter User Guide Version 1.5.4</h1></td>
-<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
-</tr>
-</table>
-</div>
-<!-- END NAVIGATION -->
-
-
-<!-- START BREADCRUMB -->
-<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
-<tr>
-<td id="breadcrumb">
-<a href="http://www.codeigniter.com/">CodeIgniter Home</a> &nbsp;&#8250;&nbsp;
-<a href="../index.html">User Guide Home</a> &nbsp;&#8250;&nbsp;
-What is CodeIgniter?
-</td>
-<td id="searchbox"><form method="get" action="http://www.google.com/search"><input type="hidden" name="as_sitesearch" id="as_sitesearch" value="codeigniter.com/user_guide/" />Search User Guide&nbsp; <input type="text" class="input" style="width:200px;" name="q" id="q" size="31" maxlength="255" value="" />&nbsp;<input type="submit" class="submit" name="sa" value="Go" /></form></td>
-</tr>
-</table>
-<!-- END BREADCRUMB -->
-
-<br clear="all" />
-
-
-<!-- START CONTENT -->
-<div id="content">
-
-<h1>CodeIgniter at a Glance</h1>
-
-
-<h2>CodeIgniter is an Application Framework</h2>
-
-<p>CodeIgniter is a toolkit for people who build web application using PHP. Its goal is to enable you to develop projects much faster than you could if you were writing code
-from scratch, by providing a rich set of libraries for commonly needed tasks, as well as a simple interface and
-logical structure to access these libraries. CodeIgniter lets you creatively focus on your project by
-minimizing the amount of code needed for a given task.</p>
-
-<h2>CodeIgniter is Free</h2>
-<p>CodeIgniter is licensed under an Apache/BSD-style open source license so you can use it however you please.
-For more information please read the <a href="../license.html">license agreement</a>.</p>
-
-
-<h2>CodeIgniter Runs on PHP 4</h2>
-<p>CodeIgniter is written to be compatible with PHP 4. Although we would have loved to take advantage of the better object handling
-in PHP 5 since it would have simplified some things we had to find creative solutions for (looking your way, multiple inheritance),
-at the time of this writing PHP 5 is not in widespread use, which means we would be alienating most of our
-potential audience. Major OS vendors like RedHat have yet to support PHP 5, and they are unlikely to do so until 2007, so
-we felt that it did not serve the best interests of the PHP community to write CodeIgniter in PHP 5.</p>
-
-<p>Note: CodeIgniter will run on PHP 5. It simply does not take advantage of any native features that are only available in that version.</p>
-
-<h2>CodeIgniter is Light Weight</h2>
-<p>Truly light weight. The core system requires only a few very small libraries. This is in stark contrast to many frameworks that require significantly more resources.
-Additional libraries are loaded dynamically upon request, based on your needs for a given process, so the base system
-is very lean and quite fast.
-</p>
-
-<h2>CodeIgniter is Fast</h2>
-<p>Really fast. We challenge you to find a framework that has better performance then CodeIgniter.</p>
-
-
-<h2>CodeIgniter Uses M-V-C</h2>
-<p>CodeIgniter uses the Model-View-Controller approach, which allows great separation between logic and presentation.
-This is particularly good for projects in which designers are working with your template files, as the code these file contain will be minimized. We describe MVC in more detail on its own page.</p>
-
-<h2>CodeIgniter Generates Clean URLs</h2>
-<p>The URLs generated by CodeIgniter are clean and search-engine friendly. Rather than using the standard "query string"
-approach to URLs that is synonymous with dynamic systems, CodeIgniter uses a segment-based approach:</p>
-
-<code>www.your-site.com/<var>news</var>/<dfn>article</dfn>/<samp>345</samp></code>
-
-<p>Note: By default the index.php file is included in the URL but it can be removed using a simple .htaccess file.</p>
-
-<h2>CodeIgniter Packs a Punch</h2>
-<p>CodeIgniter comes with full-range of libraries that enable the most commonly needed web development tasks,
-like accessing a database, sending email, validating form data, maintaining sessions, manipulating images, working with XML-RPC data and
-much more.</p>
-
-<h2>CodeIgniter is Extensible</h2>
-<p>The system can be easily extended through the use of plugins and helper libraries, or through class extensions or system hooks.</p>
-
-
-<h2>CodeIgniter Does Not Require a Template Engine</h2>
-<p>Although CodeIgniter <em>does</em> come with a simple template parser that can be optionally used, it does not force you to use one.
-
-Template engines simply can not match the performance of native PHP, and the syntax that must be learned to use a template
-engine is usually only marginally easier than learning the basics of PHP. Consider this block of PHP code:</p>
-
-<code>&lt;ul><br />
-<br />
-&lt;?php foreach ($addressbook as $name):?><br />
-<br />
-&lt;li>&lt;?=$name?>&lt;/li><br />
-<br />
-&lt;?php endforeach; ?><br />
-<br />
-&lt;/ul></code>
-
-<p>Contrast this with the pseudo-code used by a template engine:</p>
-
-<code>&lt;ul><br />
-<br />
-{foreach from=$addressbook item="name"}<br />
-<br />
-&lt;li>{$name}&lt;/li><br />
-<br />
-{/foreach}<br />
-<br />
-&lt;/ul></code>
-
-<p>Yes, the template engine example is a bit cleaner, but it comes at the price of performance, as the pseudo-code must be converted
-back into PHP to run. Since one of our goals is <em>maximum performance</em>, we opted to not require the use of a template engine.</p>
-
-
-<h2>CodeIgniter is Thoroughly Documented</h2>
-<p>Programmers love to code and hate to write documentation. We're no different, of course, but
-since documentation is <strong>as important</strong> as the code itself,
-we are committed to doing it. Our source code is extremely clean and well commented as well.</p>
-
-
-<h2>CodeIgniter has a Friendly Community of Users</h2>
-
-<p>Our growing community of users can be seen actively participating in our <a href="http://www.codeigniter.com/forums/">Community Forums</a>.</p>
-
-
-</div>
-<!-- END CONTENT -->
-
-
-<div id="footer">
-<p>
-Previous Topic:&nbsp;&nbsp;<a href="../installation/upgrading.html">Upgrading from an Older Version</a>
-&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
-<a href="#top">Top of Page</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
-<a href="../index.html">User Guide Home</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
-Next Topic:&nbsp;&nbsp;<a href="features.html">CodeIgniter Features</a>
-</p>
-<p><a href="http://www.codeigniter.com">CodeIgniter</a> &nbsp;&middot;&nbsp; Copyright &#169; 2007 &nbsp;&middot;&nbsp; <a href="http://ellislab.com/">Ellislab, Inc.</a></p>
-</div>
-
-</body>
-</html> \ No newline at end of file
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <title>CodeIgniter User Guide : CodeIgniter at a Glance</title> <style type='text/css' media='all'>@import url('../userguide.css');</style> <link rel='stylesheet' type='text/css' media='all' href='../userguide.css' /> <script type="text/javascript" src="../nav/nav.js"></script> <script type="text/javascript" src="../nav/prototype.lite.js"></script> <script type="text/javascript" src="../nav/moo.fx.js"></script> <script type="text/javascript" src="../nav/user_guide_menu.js"></script> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv='expires' content='-1' /> <meta http-equiv= 'pragma' content='no-cache' /> <meta name='robots' content='all' /> <meta name='author' content='Rick Ellis' /> <meta name='description' content='CodeIgniter User Guide' /> </head> <body> <!-- START NAVIGATION --> <div id="nav"><div id="nav_inner"><script type="text/javascript">create_menu('../');</script></div></div> <div id="nav2"><a name="top"></a><a href="javascript:void(0);" onclick="myHeight.toggle();"><img src="../images/nav_toggle.jpg" width="153" height="44" border="0" title="Toggle Table of Contents" alt="Toggle Table of Contents" /></a></div> <div id="masthead"> <table cellpadding="0" cellspacing="0" border="0" style="width:100%"> <tr> <td><h1>CodeIgniter User Guide Version 1.5.4</h1></td> <td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td> </tr> </table> </div> <!-- END NAVIGATION --> <!-- START BREADCRUMB --> <table cellpadding="0" cellspacing="0" border="0" style="width:100%"> <tr> <td id="breadcrumb"> <a href="http://www.codeigniter.com/">CodeIgniter Home</a> &nbsp;&#8250;&nbsp; <a href="../index.html">User Guide Home</a> &nbsp;&#8250;&nbsp; What is CodeIgniter? </td> <td id="searchbox"><form method="get" action="http://www.google.com/search"><input type="hidden" name="as_sitesearch" id="as_sitesearch" value="codeigniter.com/user_guide/" />Search User Guide&nbsp; <input type="text" class="input" style="width:200px;" name="q" id="q" size="31" maxlength="255" value="" />&nbsp;<input type="submit" class="submit" name="sa" value="Go" /></form></td> </tr> </table> <!-- END BREADCRUMB --> <br clear="all" /> <!-- START CONTENT --> <div id="content"> <h1>CodeIgniter at a Glance</h1> <h2>CodeIgniter is an Application Framework</h2> <p>CodeIgniter is a toolkit for people who build web application using PHP. Its goal is to enable you to develop projects much faster than you could if you were writing code from scratch, by providing a rich set of libraries for commonly needed tasks, as well as a simple interface and logical structure to access these libraries. CodeIgniter lets you creatively focus on your project by minimizing the amount of code needed for a given task.</p> <h2>CodeIgniter is Free</h2> <p>CodeIgniter is licensed under an Apache/BSD-style open source license so you can use it however you please. For more information please read the <a href="../license.html">license agreement</a>.</p> <h2>CodeIgniter Runs on PHP 4</h2> <p>CodeIgniter is written to be compatible with PHP 4. Although we would have loved to take advantage of the better object handling in PHP 5 since it would have simplified some things we had to find creative solutions for (looking your way, multiple inheritance), at the time of this writing PHP 5 is not in widespread use, which means we would be alienating most of our potential audience. Major OS vendors like RedHat have yet to support PHP 5, and they are unlikely to do so until 2007, so we felt that it did not serve the best interests of the PHP community to write CodeIgniter in PHP 5.</p> <p>Note: CodeIgniter will run on PHP 5. It simply does not take advantage of any native features that are only available in that version.</p> <h2>CodeIgniter is Light Weight</h2> <p>Truly light weight. The core system requires only a few very small libraries. This is in stark contrast to many frameworks that require significantly more resources. Additional libraries are loaded dynamically upon request, based on your needs for a given process, so the base system is very lean and quite fast. </p> <h2>CodeIgniter is Fast</h2> <p>Really fast. We challenge you to find a framework that has better performance than CodeIgniter.</p> <h2>CodeIgniter Uses M-V-C</h2> <p>CodeIgniter uses the Model-View-Controller approach, which allows great separation between logic and presentation. This is particularly good for projects in which designers are working with your template files, as the code these file contain will be minimized. We describe MVC in more detail on its own page.</p> <h2>CodeIgniter Generates Clean URLs</h2> <p>The URLs generated by CodeIgniter are clean and search-engine friendly. Rather than using the standard "query string" approach to URLs that is synonymous with dynamic systems, CodeIgniter uses a segment-based approach:</p> <code>www.your-site.com/<var>news</var>/<dfn>article</dfn>/<samp>345</samp></code> <p>Note: By default the index.php file is included in the URL but it can be removed using a simple .htaccess file.</p> <h2>CodeIgniter Packs a Punch</h2> <p>CodeIgniter comes with full-range of libraries that enable the most commonly needed web development tasks, like accessing a database, sending email, validating form data, maintaining sessions, manipulating images, working with XML-RPC data and much more.</p> <h2>CodeIgniter is Extensible</h2> <p>The system can be easily extended through the use of plugins and helper libraries, or through class extensions or system hooks.</p> <h2>CodeIgniter Does Not Require a Template Engine</h2> <p>Although CodeIgniter <em>does</em> come with a simple template parser that can be optionally used, it does not force you to use one. Template engines simply can not match the performance of native PHP, and the syntax that must be learned to use a template engine is usually only marginally easier than learning the basics of PHP. Consider this block of PHP code:</p> <code>&lt;ul><br /> <br /> &lt;?php foreach ($addressbook as $name):?><br /> <br /> &lt;li>&lt;?=$name?>&lt;/li><br /> <br /> &lt;?php endforeach; ?><br /> <br /> &lt;/ul></code> <p>Contrast this with the pseudo-code used by a template engine:</p> <code>&lt;ul><br /> <br /> {foreach from=$addressbook item="name"}<br /> <br /> &lt;li>{$name}&lt;/li><br /> <br /> {/foreach}<br /> <br /> &lt;/ul></code> <p>Yes, the template engine example is a bit cleaner, but it comes at the price of performance, as the pseudo-code must be converted back into PHP to run. Since one of our goals is <em>maximum performance</em>, we opted to not require the use of a template engine.</p> <h2>CodeIgniter is Thoroughly Documented</h2> <p>Programmers love to code and hate to write documentation. We're no different, of course, but since documentation is <strong>as important</strong> as the code itself, we are committed to doing it. Our source code is extremely clean and well commented as well.</p> <h2>CodeIgniter has a Friendly Community of Users</h2> <p>Our growing community of users can be seen actively participating in our <a href="http://www.codeigniter.com/forums/">Community Forums</a>.</p> </div> <!-- END CONTENT --> <div id="footer"> <p> Previous Topic:&nbsp;&nbsp;<a href="../installation/upgrading.html">Upgrading from an Older Version</a> &nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp; <a href="#top">Top of Page</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp; <a href="../index.html">User Guide Home</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp; Next Topic:&nbsp;&nbsp;<a href="features.html">CodeIgniter Features</a> </p> <p><a href="http://www.codeigniter.com">CodeIgniter</a> &nbsp;&middot;&nbsp; Copyright &#169; 2007 &nbsp;&middot;&nbsp; <a href="http://ellislab.com/">Ellislab, Inc.</a></p> </div> </body> </html> \ No newline at end of file