summaryrefslogtreecommitdiffstats
path: root/user_guide_src/source/general/helpers.rst
diff options
context:
space:
mode:
authorAndrey Andreev <narf@devilix.net>2017-06-19 10:33:58 +0200
committerAndrey Andreev <narf@devilix.net>2017-06-19 10:33:58 +0200
commit6c7a4266410070d30f8f6bcdf9c9e67f3d6478e3 (patch)
treef0aab8f6f5e781d5947b1a5553b6648eb7b7a4ab /user_guide_src/source/general/helpers.rst
parent2459285b91d6fc4f5099f9f597529cce1059cb33 (diff)
[ci skip] 3.1.5 release
Diffstat (limited to 'user_guide_src/source/general/helpers.rst')
-rw-r--r--user_guide_src/source/general/helpers.rst145
1 files changed, 0 insertions, 145 deletions
diff --git a/user_guide_src/source/general/helpers.rst b/user_guide_src/source/general/helpers.rst
deleted file mode 100644
index d171aa8ed..000000000
--- a/user_guide_src/source/general/helpers.rst
+++ /dev/null
@@ -1,145 +0,0 @@
-################
-Helper Functions
-################
-
-Helpers, as the name suggests, help you with tasks. Each helper file is
-simply a collection of functions in a particular category. There are **URL
-Helpers**, that assist in creating links, there are Form Helpers that help
-you create form elements, **Text Helpers** perform various text formatting
-routines, **Cookie Helpers** set and read cookies, File Helpers help you
-deal with files, etc.
-
-Unlike most other systems in CodeIgniter, Helpers are not written in an
-Object Oriented format. They are simple, procedural functions. Each
-helper function performs one specific task, with no dependence on other
-functions.
-
-CodeIgniter does not load Helper Files by default, so the first step in
-using a Helper is to load it. Once loaded, it becomes globally available
-in your :doc:`controller <../general/controllers>` and
-:doc:`views <../general/views>`.
-
-Helpers are typically stored in your **system/helpers**, or
-**application/helpers directory**. CodeIgniter will look first in your
-**application/helpers directory**. If the directory does not exist or the
-specified helper is not located there CI will instead look in your
-global *system/helpers/* directory.
-
-Loading a Helper
-================
-
-Loading a helper file is quite simple using the following method::
-
- $this->load->helper('name');
-
-Where **name** is the file name of the helper, without the .php file
-extension or the "helper" part.
-
-For example, to load the **URL Helper** file, which is named
-**url_helper.php**, you would do this::
-
- $this->load->helper('url');
-
-A helper can be loaded anywhere within your controller methods (or
-even within your View files, although that's not a good practice), as
-long as you load it before you use it. You can load your helpers in your
-controller constructor so that they become available automatically in
-any function, or you can load a helper in a specific function that needs
-it.
-
-.. note:: The Helper loading method above does not return a value, so
- don't try to assign it to a variable. Just use it as shown.
-
-Loading Multiple Helpers
-========================
-
-If you need to load more than one helper you can specify them in an
-array, like this::
-
- $this->load->helper(
- array('helper1', 'helper2', 'helper3')
- );
-
-Auto-loading Helpers
-====================
-
-If you find that you need a particular helper globally throughout your
-application, you can tell CodeIgniter to auto-load it during system
-initialization. This is done by opening the **application/config/autoload.php**
-file and adding the helper to the autoload array.
-
-Using a Helper
-==============
-
-Once you've loaded the Helper File containing the function you intend to
-use, you'll call it the way you would a standard PHP function.
-
-For example, to create a link using the ``anchor()`` function in one of
-your view files you would do this::
-
- <?php echo anchor('blog/comments', 'Click Here');?>
-
-Where "Click Here" is the name of the link, and "blog/comments" is the
-URI to the controller/method you wish to link to.
-
-"Extending" Helpers
-===================
-
-To "extend" Helpers, create a file in your **application/helpers/** folder
-with an identical name to the existing Helper, but prefixed with **MY\_**
-(this item is configurable. See below.).
-
-If all you need to do is add some functionality to an existing helper -
-perhaps add a function or two, or change how a particular helper
-function operates - then it's overkill to replace the entire helper with
-your version. In this case it's better to simply "extend" the Helper.
-
-.. note:: The term "extend" is used loosely since Helper functions are
- procedural and discrete and cannot be extended in the traditional
- programmatic sense. Under the hood, this gives you the ability to
- add to or or to replace the functions a Helper provides.
-
-For example, to extend the native **Array Helper** you'll create a file
-named **application/helpers/MY_array_helper.php**, and add or override
-functions::
-
- // any_in_array() is not in the Array Helper, so it defines a new function
- function any_in_array($needle, $haystack)
- {
- $needle = is_array($needle) ? $needle : array($needle);
-
- foreach ($needle as $item)
- {
- if (in_array($item, $haystack))
- {
- return TRUE;
- }
- }
-
- return FALSE;
- }
-
- // random_element() is included in Array Helper, so it overrides the native function
- function random_element($array)
- {
- shuffle($array);
- return array_pop($array);
- }
-
-Setting Your Own Prefix
------------------------
-
-The filename prefix for "extending" Helpers is the same used to extend
-libraries and core classes. To set your own prefix, open your
-**application/config/config.php** file and look for this item::
-
- $config['subclass_prefix'] = 'MY_';
-
-Please note that all native CodeIgniter libraries are prefixed with **CI\_**
-so DO NOT use that as your prefix.
-
-Now What?
-=========
-
-In the Table of Contents you'll find a list of all the available Helper
-Files. Browse each one to see what they do. \ No newline at end of file