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, File Helpers help you deal with files, etc.
Unlike most other systems in Codingox, 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.
Codingox 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 controller and views.
Loading a Helper¶
Loading a helper file is quite simple using the following method:
$this->helper('name');
Where name is the file name of the helper, without the .php file extension.
For example, to load the URL Helper file, which is named url.php, you would do this:
$this->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->helper('helper1', 'helper2', 'helper3');
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 a_href()
function in one of
your view files you would do this:
<?= a_href('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.