/lenasys/trunk

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/lenasys/trunk

« back to all changes in this revision

Viewing changes to codeigniter/user_guide/general/ancillary_classes.html

  • Committer: galaxyAbstractor
  • Date: 2013-04-10 15:49:32 UTC
  • mto: (19.1.5 lenasys)
  • mto: This revision was merged to the branch mainline in revision 23.
  • Revision ID: galaxyabstractor@gmail.com-20130410154932-4vizlzk0ar5gykvi
* Added an simple admin panel to the codeviewer-cmssy stuff
* Redesigned a bit like the mockups - still stuff to come
* Implemented the codeviewer + admin panel again using the Framework CodeIgniter instead 

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 
2
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 
3
<head>
 
4
 
 
5
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 
6
<title>Creating Ancillary Classes : CodeIgniter User Guide</title>
 
7
 
 
8
<style type='text/css' media='all'>@import url('../userguide.css');</style>
 
9
<link rel='stylesheet' type='text/css' media='all' href='../userguide.css' />
 
10
 
 
11
<script type="text/javascript" src="../nav/nav.js"></script>
 
12
<script type="text/javascript" src="../nav/prototype.lite.js"></script>
 
13
<script type="text/javascript" src="../nav/moo.fx.js"></script>
 
14
<script type="text/javascript" src="../nav/user_guide_menu.js"></script>
 
15
 
 
16
<meta http-equiv='expires' content='-1' />
 
17
<meta http-equiv= 'pragma' content='no-cache' />
 
18
<meta name='robots' content='all' />
 
19
<meta name='author' content='ExpressionEngine Dev Team' />
 
20
<meta name='description' content='CodeIgniter User Guide' />
 
21
 
 
22
</head>
 
23
<body>
 
24
 
 
25
<!-- START NAVIGATION -->
 
26
<div id="nav"><div id="nav_inner"><script type="text/javascript">create_menu('../');</script></div></div>
 
27
<div id="nav2"><a name="top"></a><a href="javascript:void(0);" onclick="myHeight.toggle();"><img src="../images/nav_toggle_darker.jpg" width="154" height="43" border="0" title="Toggle Table of Contents" alt="Toggle Table of Contents" /></a></div>
 
28
<div id="masthead">
 
29
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
 
30
<tr>
 
31
<td><h1>CodeIgniter User Guide Version 2.1.3</h1></td>
 
32
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
 
33
</tr>
 
34
</table>
 
35
</div>
 
36
<!-- END NAVIGATION -->
 
37
 
 
38
 
 
39
<!-- START BREADCRUMB -->
 
40
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
 
41
<tr>
 
42
<td id="breadcrumb">
 
43
<a href="http://codeigniter.com/">CodeIgniter Home</a> &nbsp;&#8250;&nbsp;
 
44
<a href="../index.html">User Guide Home</a> &nbsp;&#8250;&nbsp;
 
45
Creating Ancillary Classes
 
46
</td>
 
47
<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>
 
48
</tr>
 
49
</table>
 
50
<!-- END BREADCRUMB -->
 
51
 
 
52
<br clear="all" />
 
53
 
 
54
 
 
55
<!-- START CONTENT -->
 
56
<div id="content">
 
57
 
 
58
<h1>Creating Ancillary Classes</h1>
 
59
 
 
60
<p>In some cases you may want to develop classes that exist apart from your controllers but have the ability to
 
61
utilize all of CodeIgniter's resources. This is easily possible as you'll see.</p>
 
62
 
 
63
<h2>get_instance()</h2>
 
64
 
 
65
 
 
66
<p><strong>Any class that you instantiate within your controller functions can access CodeIgniter's native resources</strong> simply by using the <kbd>get_instance()</kbd> function.
 
67
This function returns the main CodeIgniter object.</p>
 
68
 
 
69
<p>Normally, to call any of the available CodeIgniter functions requires you to use the <kbd>$this</kbd> construct:</p>
 
70
 
 
71
<code>
 
72
<strong>$this</strong>->load->helper('url');<br />
 
73
<strong>$this</strong>->load->library('session');<br />
 
74
<strong>$this</strong>->config->item('base_url');<br />
 
75
etc.
 
76
</code>
 
77
 
 
78
<p><kbd>$this</kbd>, however, only works within your controllers, your models, or your views.
 
79
If you would like to use CodeIgniter's classes from within your own custom classes you can do so as follows:</p>
 
80
 
 
81
 
 
82
<p>First, assign the CodeIgniter object to a variable:</p>
 
83
 
 
84
<code>$CI =& get_instance();</code>
 
85
 
 
86
<p>Once you've assigned the object to a variable, you'll use that variable <em>instead</em> of <kbd>$this</kbd>:</p>
 
87
 
 
88
<code>
 
89
$CI =& get_instance();<br /><br />
 
90
$CI->load->helper('url');<br />
 
91
$CI->load->library('session');<br />
 
92
$CI->config->item('base_url');<br />
 
93
etc.
 
94
</code>
 
95
 
 
96
<p class="important"><strong>Note:</strong> You'll notice that the above get_instance() function is being passed by reference:
 
97
<br /><br />
 
98
<var>$CI =& get_instance();</var>
 
99
<br /><br />
 
100
This is very important. Assigning by reference allows you to use the original CodeIgniter object rather than creating a copy of it.</p>
 
101
</div>
 
102
<!-- END CONTENT -->
 
103
 
 
104
 
 
105
<div id="footer">
 
106
<p>
 
107
Previous Topic:&nbsp;&nbsp;<a href="creating_libraries.html">Creating Core Libraries</a>
 
108
&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
 
109
<a href="#top">Top of Page</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
 
110
<a href="../index.html">User Guide Home</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
 
111
Next Topic:&nbsp;&nbsp;<a href="autoloader.html">Auto-loading Resources</a>
 
112
</p>
 
113
<p><a href="http://codeigniter.com">CodeIgniter</a> &nbsp;&middot;&nbsp; Copyright &#169; 2006 - 2012 &nbsp;&middot;&nbsp; <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
 
114
</div>
 
115
 
 
116
</body>
 
117
</html>
 
 
b'\\ No newline at end of file'