<!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 : Scaffolding</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">
window.onload = function() {
	myHeight = new fx.Height('nav', {duration: 400});
	myHeight.hide();
}
</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;
Scaffolding
</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>Scaffolding</h1>

<p>CodeIgniter's Scaffolding feature provides a fast and very convenient way to add, edit, or delete information in your database
during development.</p>

<p class="important"><strong>Very Important:</strong>  Scaffolding is intended for development use only.  It provides very little
security other than a "secret" word, so anyone who has access to your CodeIgniter site can potentially edit or delete your information.
If you use scaffolding make sure you disable it immediately after you are through using it.  DO NOT leave it enabled on a live site.
And please, set a secret word before you use it.</p>


<h2>Why would someone use scaffolding?</h2>

<p>Here's a typical scenario:  You create a new database table during development and you'd like a quick way to insert some data
into it to work with.  Without scaffolding your choices are either to write some inserts using the command line or to use a
database management tool like phpMyAdmin.  With CodeIgniter's scaffolding feature you can quickly add some data using its browser
interface.  And when you are through using the data you can easily delete it.</p>

<h2>Setting a Secret Word</h2>

<p>Before enabling scaffolding please take a moment to set a secret word.  This word, when encountered in your URL,
will launch the scaffolding interface, so please pick something obscure that no one is likely to guess.</p>

<p>To set a secret word, open your <kbd>application/config/routes.php</kbd> file and look for this item:</p>

<code>$route['scaffolding_trigger'] = '';</code>

<p>Once you've found it add your own unique word.</p>

<p class="important"><strong>Note:</strong> The scaffolding word can <strong>not</strong> start with an underscore.</p>


<h2>Enabling Scaffolding</h2>

<p>Note: The information on this page assumes you already know how <a href="controllers.html">controllers</a> work, and that you have
a working one available.  It also assumes you have configured CodeIgniter to auto-connect to your <a href="../database/index.html">database</a>.
If not, the information here won't be very relevant, so you are encouraged to go through those sections first.
Lastly, it assumes you understand what a class constructor is.  If not, read the last section of the <a href="controllers.html">controllers</a>
page.</p>

<p>To enable scaffolding you will initialize it in your constructor like this:</p>

<code>
&lt;?php<br />
class Blog extends Controller {<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;function Blog()<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;parent::Controller();<br /><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<samp>$this->load->scaffolding(</samp><kbd>'table_name'</kbd>);</samp><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
}<br />
?&gt;</code>

<p>Where <kbd>table_name</kbd> is the name of the table (table, not database) you wish to work with.</p>

<p>Once you've initialized scaffolding, you will access it with this URL prototype:</p>

<code>www.your-site.com/index.php/<var>class</var>/<dfn>secret_word</dfn>/</code>

<p>For example, using a controller named <var>Blog</var>, and <dfn>abracadabra</dfn> as the secret word,
you would access scaffolding like this:</p>

<code>www.your-site.com/index.php/<var>blog</var>/<dfn>abracadabra</dfn>/</code>

<p>The scaffolding interface should be self-explanatory.  You can add, edit or delete records.</p>


<h2>A Final Note:</h2>

<p>The scaffolding feature will only work with tables that contain a primary key, as this is information is needed to perform the various
database functions.</p>


</div>
<!-- END CONTENT -->


<div id="footer">
<p>
Previous Topic:&nbsp;&nbsp;<a href="autoloader.html">Auto-loading Resources</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="routing.html">URI Routing</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>