• 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
How to autoload helper functions in codeigniter 4

#1
I just downloaded CodeIgniter 4 from their official GitHub. They changed a lot from CodeIgniter 3. I want to use base_url() function in the view and for that, you need to load URL helper and in CodeIgniter 3 i autoloaded it in config/autoload.php file. But now they have entirely changed the structure of config/autoload.php file in CodeIgniter 4 and it is very confusing to me.
You can still use the base_url() function in your views in CodeIgniter 4 by using below code in your constructor of controller 
Code:
helper('url');

If anybody who used CodeIgnter 4 knows how to autoload helper functions like url by modifying autoload.php file please help me.
Reply

#2
From the current CI4 docs it doesn't look like you can autoload helpers like in past versions, though I've not really dug into CI4 yet.

https://bcit-ci.github.io/CodeIgniter4/g...lpers.html and https://bcit-ci.github.io/CodeIgniter4/h...elper.html
Reply

#3
You can if you have a BaseController like the MY_Contoller in CI 3.
What did you Try? What did you Get? What did you Expect?

Joined the CodeIgniter Community in 2009.          ( Skype: insitfx )
Reply

#4
In the Controller docs it shows that you can use the helpers class property to have it loaded on a per-controller basis. If you want something loaded on every request, currently your best option is to use a base controller like InsiteFX mentioned. Though, you'd want to be careful you didn't overwrite any per-controller helpers:

Code:
class BaseController extends \CodeIgniter\Controller
{
    protected $helpers = [];

    public function __construct()
    {
        $this->helpers = array_merge($this->helpers, ['url', 'form']);
    }
}

class UserController extends BaseController
{
    protected $helpers = ['filesystem', 'number'];
}

Or, even simpler, just load the helper in the BaseController constructor:

Code:
class BaseController extends \CodeIgniter\Controller
{
    protected $helpers = [];

    public function __construct()
    {
        helper(['url', 'form']);
    }
}
Practical CodeIgniter 3  • CodeIgniter 4 Foundations - Coming Soon • Vulcan - CLI Tools for CI4
Reply


Digg   Delicious   Reddit   Facebook   Twitter   StumbleUpon  


Users browsing this thread:
1 Guest(s)


  Theme © 2014 iAndrew  
Powered By MyBB, © 2002-2017 MyBB Group.