Friday 28 April 2017

php - CodeIgniter: Create new helper?




I need to loop lot of arrays in different ways and display it in a page. The arrays are generated by a module class. I know that its better not to include functions on 'views' and I want to know where to insert the functions file.



I know I can 'extend' the helpers, but I don't want to extend a helper. I want to kind of create a helper with my loop functions.. Lets call it loops_helper.php


Answer



A CodeIgniter helper is a PHP file with multiple functions. It is not a class



Create a file and put the following code into it.





if ( ! function_exists('test_method'))
{
function test_method($var = '')
{
return $var;
}
}



Save this to application/helpers/ . We shall call it "new_helper.php"



The first line exists to make sure the file cannot be included and ran from outside the CodeIgniter scope. Everything after this is self explanatory.








This can be in your controller, model or view (not preferable)




$this->load->helper('new_helper');

echo test_method('Hello World');


If you use this helper in a lot of locations you can have it load automatically by adding it to the autoload configuration file i.e. \application\config\autoload.php.



$autoload['helper'] = array('new_helper');



-Mathew


No comments:

Post a Comment

c++ - Does curly brackets matter for empty constructor?

Those brackets declare an empty, inline constructor. In that case, with them, the constructor does exist, it merely does nothing more than t...