blob: f0a769d100e67c2b4f8dbcb02e77ccf2f08438b8 [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">
Derek Allardafd99ac2008-01-19 19:59:14 +00002<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
adminb0dd10f2006-08-25 17:25:49 +00003<head>
4
Derek Allard8039d4c2008-05-31 02:47:56 +00005<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
Derek Jonesfd93d222008-05-06 15:18:50 +00006<title>Plugins : CodeIgniter User Guide</title>
adminb0dd10f2006-08-25 17:25:49 +00007
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
admin17a890d2006-09-27 20:42:42 +000011<script type="text/javascript" src="../nav/nav.js"></script>
admin2296fc32006-09-27 21:07:02 +000012<script type="text/javascript" src="../nav/prototype.lite.js"></script>
admin17a890d2006-09-27 20:42:42 +000013<script type="text/javascript" src="../nav/moo.fx.js"></script>
Derek Allardb3412372007-10-25 12:15:16 +000014<script type="text/javascript" src="../nav/user_guide_menu.js"></script>
adminb0dd10f2006-08-25 17:25:49 +000015
adminb0dd10f2006-08-25 17:25:49 +000016<meta http-equiv='expires' content='-1' />
17<meta http-equiv= 'pragma' content='no-cache' />
18<meta name='robots' content='all' />
Derek Allard3d879d52008-01-18 19:41:32 +000019<meta name='author' content='ExpressionEngine Dev Team' />
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>
Rick Ellis7cdef032008-08-26 18:44:54 +000027<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>
adminb0dd10f2006-08-25 17:25:49 +000028<div id="masthead">
29<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
30<tr>
Derek Jones1ca3fc42008-06-27 00:19:33 +000031<td><h1>CodeIgniter User Guide Version 1.6.3</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 Jones7a9193a2008-01-21 18:39:20 +000043<a href="http://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 Jones07870432008-02-13 03:49:26 +0000123<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>
adminb0dd10f2006-08-25 17:25:49 +0000124</div>
125
126</body>
127</html>