blob: b811abdc8c248bfb12d63bafc5e8923dab5aefed [file] [log] [blame]
adminb0dd10f2006-08-25 17:25:49 +00001<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2<html>
3<head>
4
Derek Allardd2df9bc2007-04-15 17:41:17 +00005<title>CodeIgniter User Guide</title>
adminb0dd10f2006-08-25 17:25:49 +00006
7<style type='text/css' media='all'>@import url('../userguide.css');</style>
8<link rel='stylesheet' type='text/css' media='all' href='../userguide.css' />
9
admin17a890d2006-09-27 20:42:42 +000010<script type="text/javascript" src="../nav/nav.js"></script>
admin2296fc32006-09-27 21:07:02 +000011<script type="text/javascript" src="../nav/prototype.lite.js"></script>
admin17a890d2006-09-27 20:42:42 +000012<script type="text/javascript" src="../nav/moo.fx.js"></script>
adminb0dd10f2006-08-25 17:25:49 +000013<script type="text/javascript">
14window.onload = function() {
admine334c472006-10-21 19:44:22 +000015 myHeight = new fx.Height('nav', {duration: 400});
adminb0dd10f2006-08-25 17:25:49 +000016 myHeight.hide();
17}
18</script>
19
20<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
21<meta http-equiv='expires' content='-1' />
22<meta http-equiv= 'pragma' content='no-cache' />
23<meta name='robots' content='all' />
24<meta name='author' content='Rick Ellis' />
Derek Allardd2df9bc2007-04-15 17:41:17 +000025<meta name='description' content='CodeIgniter User Guide' />
adminb0dd10f2006-08-25 17:25:49 +000026
27</head>
28<body>
29
30<!-- START NAVIGATION -->
31<div id="nav"><div id="nav_inner"><script type="text/javascript">create_menu('../');</script></div></div>
32<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>
33<div id="masthead">
34<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
35<tr>
Derek Allardd2df9bc2007-04-15 17:41:17 +000036<td><h1>CodeIgniter User Guide Version 1.5.3</h1></td>
adminc0d5d522006-10-30 19:40:35 +000037<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
adminb0dd10f2006-08-25 17:25:49 +000038</tr>
39</table>
40</div>
41<!-- END NAVIGATION -->
42
43
44<!-- START BREADCRUMB -->
45<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
46<tr>
47<td id="breadcrumb">
Derek Allardd2df9bc2007-04-15 17:41:17 +000048<a href="http://www.codeigniter.com/">CodeIgniter Home</a> &nbsp;&#8250;&nbsp;
adminb0dd10f2006-08-25 17:25:49 +000049<a href="../index.html">User Guide Home</a> &nbsp;&#8250;&nbsp;
50Plugins
51</td>
52<td id="searchbox"><form method="get" action="http://www.google.com/search"><input type="hidden" name="as_sitesearch" id="as_sitesearch" value="www.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>
53</tr>
54</table>
55<!-- END BREADCRUMB -->
56
57<br clear="all" />
58
59
60<!-- START CONTENT -->
61<div id="content">
62
63
64<h1>Plugins</h1>
65
admine334c472006-10-21 19:44:22 +000066<p>Plugins work almost identically to <a href="helpers.html">Helpers</a>. The main difference is that a plugin usually
admine7e1dcd2006-10-21 18:04:01 +000067provides a single function, whereas a Helper is usually a collection of functions. Helpers are also considered a part of
adminb0dd10f2006-08-25 17:25:49 +000068the core system; plugins are intended to be created and shared by our community.</p>
69
adminbf3ad9b2006-09-20 23:34:10 +000070<p>Plugins should be saved to your <dfn>system/plugins</dfn> directory or you can create a folder called <kbd>plugins</kbd> inside
Derek Allardd2df9bc2007-04-15 17:41:17 +000071your <kbd>application</kbd> folder and store them there. CodeIgniter will look first in your <dfn>system/application/plugins</dfn>
admine334c472006-10-21 19:44:22 +000072directory. If the directory does not exist or the specified plugin is not located there CI will instead look in your global
adminbf3ad9b2006-09-20 23:34:10 +000073<dfn>system/plugins</dfn> folder.</p>
74
adminb0dd10f2006-08-25 17:25:49 +000075
76<h2>Loading a Plugin</h2>
77
78<p>Loading a plugin file is quite simple using the following function:</p>
79
80<code>$this->load->plugin('<var>name</var>');</code>
81
82<p>Where <var>name</var> is the file name of the plugin, without the .php file extension or the "plugin" part.</p>
83
84<p>For example, to load the <dfn>Captcha</dfn> plugin, which is named <var>captcha_pi.php</var>, you will do this:</p>
85
86<code>$this->load->plugin('<var>captcha</var>');</code>
87
adminbf3ad9b2006-09-20 23:34:10 +000088
89
adminb0dd10f2006-08-25 17:25:49 +000090<p>A plugin can be loaded anywhere within your <a href="../general/controllers.html">controller</a> functions (or even within your <a href="../general/views.html">View files</a>, although that's not a good practice),
91as long as you load it before you use it. You can load your plugins in your controller constructor so that they become available
92automatically in any function, or you can load a plugin in a specific function that needs it.</p>
93
94<p class="important">Note: The Plugin loading function above does not return a value, so don't try to assign it to a variable. Just use it as shown.</p>
95
96
97<h2>Loading Multiple Plugins</h2>
98
99<p>If you need to load more than one plugin you can specify them in an array, like this:</p>
100
101<code>$this->load->plugin( <samp>array(</samp>'<var>plugin1</var>', '<var>plugin2</var>', '<var>plugin3</var>'<samp>)</samp> );</code>
102
103<h2>Auto-loading Plugins</h2>
104
Derek Allardd2df9bc2007-04-15 17:41:17 +0000105<p>If you find that you need a particular plugin globally throughout your application, you can tell CodeIgniter to auto-load it
adminb0dd10f2006-08-25 17:25:49 +0000106during system initialization. This is done by opening the <var>application/config/autoload.php</var> file and adding the plugin to the autoload array.</p>
107
108
109<h2>Using a Plugin</h2>
110
111<p>Once you've loaded the Plugin, you'll call it the way you would a standard PHP function.</p>
112
113
114
115
116</div>
117<!-- END CONTENT -->
118
119
120<div id="footer">
121<p>
122Previous Topic:&nbsp;&nbsp;<a href="helpers.html">Helpers</a>
123&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
124<a href="#top">Top of Page</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
125<a href="../index.html">User Guide Home</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
admin05633d72006-09-21 17:22:21 +0000126Next Topic:&nbsp;&nbsp;<a href="libraries.html">Using Libraries</a>
adminb0dd10f2006-08-25 17:25:49 +0000127<p>
Derek Allardd2df9bc2007-04-15 17:41:17 +0000128<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>
adminb0dd10f2006-08-25 17:25:49 +0000129</div>
130
131</body>
132</html>