blob: 5b84d7a4ac48fcb8518a7b5a0b32109ddb30fe68 [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 Allard404e35d2007-08-07 01:00:45 +00005<title>CodeIgniter User Guide : Plugins</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>
Derek Allardb3412372007-10-25 12:15:16 +000013<script type="text/javascript" src="../nav/user_guide_menu.js"></script>
adminb0dd10f2006-08-25 17:25:49 +000014
15<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
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='Rick Ellis' />
Derek Allardd2df9bc2007-04-15 17:41:17 +000020<meta name='description' content='CodeIgniter User Guide' />
adminb0dd10f2006-08-25 17:25:49 +000021
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.jpg" width="153" height="44" 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>
Derek Allard39b622d2008-01-16 21:10:09 +000031<td><h1>CodeIgniter User Guide Version 1.6.0</h1></td>
adminc0d5d522006-10-30 19:40:35 +000032<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
adminb0dd10f2006-08-25 17:25:49 +000033</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">
Derek Allardd2df9bc2007-04-15 17:41:17 +000043<a href="http://www.codeigniter.com/">CodeIgniter Home</a> &nbsp;&#8250;&nbsp;
adminb0dd10f2006-08-25 17:25:49 +000044<a href="../index.html">User Guide Home</a> &nbsp;&#8250;&nbsp;
45Plugins
46</td>
Derek Allardbc030912007-06-24 18:25:29 +000047<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>
adminb0dd10f2006-08-25 17:25:49 +000048</tr>
49</table>
50<!-- END BREADCRUMB -->
51
52<br clear="all" />
53
54
55<!-- START CONTENT -->
56<div id="content">
57
58
59<h1>Plugins</h1>
60
admine334c472006-10-21 19:44:22 +000061<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 +000062provides 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 +000063the core system; plugins are intended to be created and shared by our community.</p>
64
adminbf3ad9b2006-09-20 23:34:10 +000065<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 +000066your <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 +000067directory. 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 +000068<dfn>system/plugins</dfn> folder.</p>
69
adminb0dd10f2006-08-25 17:25:49 +000070
71<h2>Loading a Plugin</h2>
72
73<p>Loading a plugin file is quite simple using the following function:</p>
74
75<code>$this->load->plugin('<var>name</var>');</code>
76
77<p>Where <var>name</var> is the file name of the plugin, without the .php file extension or the "plugin" part.</p>
78
79<p>For example, to load the <dfn>Captcha</dfn> plugin, which is named <var>captcha_pi.php</var>, you will do this:</p>
80
81<code>$this->load->plugin('<var>captcha</var>');</code>
82
adminbf3ad9b2006-09-20 23:34:10 +000083
84
adminb0dd10f2006-08-25 17:25:49 +000085<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),
86as long as you load it before you use it. You can load your plugins in your controller constructor so that they become available
87automatically in any function, or you can load a plugin in a specific function that needs it.</p>
88
89<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>
90
91
92<h2>Loading Multiple Plugins</h2>
93
94<p>If you need to load more than one plugin you can specify them in an array, like this:</p>
95
96<code>$this->load->plugin( <samp>array(</samp>'<var>plugin1</var>', '<var>plugin2</var>', '<var>plugin3</var>'<samp>)</samp> );</code>
97
98<h2>Auto-loading Plugins</h2>
99
Derek Allardd2df9bc2007-04-15 17:41:17 +0000100<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 +0000101during system initialization. This is done by opening the <var>application/config/autoload.php</var> file and adding the plugin to the autoload array.</p>
102
103
104<h2>Using a Plugin</h2>
105
106<p>Once you've loaded the Plugin, you'll call it the way you would a standard PHP function.</p>
107
108
109
110
111</div>
112<!-- END CONTENT -->
113
114
115<div id="footer">
116<p>
117Previous Topic:&nbsp;&nbsp;<a href="helpers.html">Helpers</a>
118&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
119<a href="#top">Top of Page</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
120<a href="../index.html">User Guide Home</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
admin05633d72006-09-21 17:22:21 +0000121Next Topic:&nbsp;&nbsp;<a href="libraries.html">Using Libraries</a>
Derek Allardc6441282007-07-04 23:54:32 +0000122</p>
Derek Allardd2df9bc2007-04-15 17:41:17 +0000123<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 +0000124</div>
125
126</body>
127</html>