root/trunk/manual/index.html

User picture

Author: m4rw3r

Revision: 279 («Previous)


File Size: 5.05 KB

(September 17, 2008 17:40 UTC) Over 3 years ago

Rounded corners on important
Fixed the version number in manual to 1.0.0

 
Show/hide line numbers
<html>
<head>
	<meta http-equiv="Content-type" content="text/html; charset=utf-8">
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
	<meta http-equiv='expires' content='-1' />
	<meta http-equiv= 'pragma' content='no-cache' />
	
	<title>About IgnitedRecord - IgnitedRecord User Guide Version 1.0.0</title>
	
	<link rel='stylesheet' type='text/css' media='all' href='./userguide.css' />
	<link rel="Shortcut Icon" href="images/favicon.ico">
	<link rel="icon" href="images/favicon.ico" type="image/x-icon">
	
	<script type="text/javascript" src="./jquery.js"></script>
	<script type="text/javascript" src="./nav.js"></script>
	<script type="text/javascript" charset="utf-8">
$(document).ready(function(){
	$('#nav').hide();
	$('#toggle_toc').click(function(){
		$('#nav').slideToggle();
	})
});
	</script>
</head>
<body>
<div id="nav">
	<script type="text/javascript">menu();</script>
</div>
<div id="nav2"><a name="top"></a><a id="toggle_toc"><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>IgnitedRecord User Guide Version 1.0.0</h1></td>
<td id="breadcrumb_right"><a href="toc.html">Table of Contents Page</a></td>
</tr>
</table>
</div>
<!-- END NAVIGATION -->


<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
<td id="breadcrumb">
<a href="http://www.assembla.com/spaces/IgnitedRecord">IgnitedRecord Home</a> &nbsp;&#8250;&nbsp; IgnitedRecord User Guide &nbsp;&#8250;&nbsp; About IgnitedRecord
</td>
<td id="searchbox"></td>
</tr>
</table>

<div id="content">
	<div class="center"><img src="images/ignitedrecord_logo.png" border="0" alt="IgnitedRecord" /></div>

	<h2>About IgnitedRecord</h2>
	
	<p>
		IgnitedRecord is a relation handling <abbr title="Object Relational Mapping">ORM</abbr>
		<sup><a name="id1" href="#ftn.id1">[1]</a></sup> library,
		made for the PHP framework <a href="http://www.codeigniter.com">CodeIgniter</a>.
	</p>

	<p>
		The goal of IgnitedRecord is to provide an easy to use, easily customizeable, ORM library to CodeIgniter.
	</p>
	
	<h2>Architecture of IgnitedRecord</h2>
	
	<p>
		IgnitedRecord is designed with the factory pattern in mind
		and the models themselves does not contain the data.<br />
		Instead, they handle all the interaction with the database and provide the methods
		for fetching record objects from the database.<br />
		The record objects contain a reference to the object which created them,
		thus getting the ability to interact with the database.
	</p>
	
	<p>
		So instead of creating new instances of the model, as you do in normal
		ActiveRecord<sup><a name="id2" href="#ftn.id2">[2]</a></sup>, you ask the model to instantiate the records.
	</p>
	
	<p>
		It's more like the DataMapper<sup><a name="id3" href="#ftn.id3">[3]</a></sup> pattern,
		where the record objects have no awareness of the underlying database.
		Instead they ask a mapper (in IgnitedRecord, the model is the mapper) to
		fetch, save and update data.
	</p>
	
	<h2>Is IgnitedRecord right for me?</h2>
	
	<p>
		IgnitedRecord is right for you if you&#x2026;
	</p>
	
	<ul>
		<li>&#x2026;want to simplify your interaction with the database.</li>
		<li>&#x2026;want to have an ORM tool with good performance.</li>
		<li>&#x2026;prefer an abstracted data model to interact with, instead of interacting directly with the database using SQL.</li>
		<li>&#x2026;want to be able to produce advanced queries, but not abandon the advantages of an ORM.</li>
		<li>&#x2026;want to be able to use relations and easily customize the queries to get what you want.</li>
		<li>&#x2026;like to customize things.</li>
		<li>&#x2026;want to keep your code <abbr title="Don't Repeat Yourself">DRY</abbr>.</li>
	</ul>
	
	<p>
		&nbsp;
	</p>
	
	<p>
		&nbsp;
	</p>
	
	<div class="footnote">
		<p>
			<sup><a name="ftn.id1" href="#id1">[1]</a></sup>
			Object Relational Mapping, See <a href="http://wikipedia.org/wiki/Object-relational_mapping">Wikipedia about Object Relational Mapping</a>
		</p>
		<p>
			<sup><a name="ftn.id2" href="#id2">[2]</a></sup>
			A pattern for Object Relational Mapping, See <a href="http://wikipedia.org/wiki/Active_Record">Wikipedia about ActiveRecord</a>
		</p>
		<p>
			<sup><a name="ftn.id3" href="#id3">[3]</a></sup>
			Another pattern for Object Relational Mapping, See <a href="http://www.martinfowler.com/eaaCatalog/dataMapper.html">An abbrevated text from Patterns of Enterprise Application Architecture</a>
		</p>
	</div>
</div>


<div id="footer">
<p><a href="#top">Top of Page</a></p>
<p><a href="http://www.assembla.com/spaces/IgnitedRecord">IgnitedRecord</a>  &nbsp;&middot;&nbsp; Copyright &#169; 2008 &nbsp;&middot;&nbsp; Martin Wernstahl</p>
<p><a href="http://codeigniter.com">CodeIgniter</a> &nbsp;&middot;&nbsp; Copyright &#169; 2006-2008 &nbsp;&middot;&nbsp; <a href="http://ellislab.com/">Ellislab, Inc.</a></p>
</div>


</body>
</html>