Welcome Guest, Not a member yet? Register   Sign In
BaseController __construct
#2

This is how I do my BaseController.

PHP Code:
<?php

namespace App\Controllers;

use 
CodeIgniter\Controller;
use 
CodeIgniter\HTTP\RequestInterface;
use 
CodeIgniter\HTTP\ResponseInterface;
use 
Config\Services;
use 
Psr\Log\LoggerInterface;

/**
 * Class BaseController
 *
 * BaseController provides a convenient place for loading components
 * and performing functions that are needed by all your controllers.
 * Extend this class in any new controllers:
 *     class Home extends BaseController
 *
 * For security be sure to declare any new methods as protected or private.
 */

class BaseController extends Controller
{
    
/**
     * An array of helpers to be loaded automatically upon
     * class instantiation. These helpers will be available
     * to all other controllers that extend BaseController.
     *
     * @var array
     */
    
protected $helpers = [
        
'debug',
        
'utility',
        
'session',
        
'filesystem',
    ];

    
/**
     * @var \CodeIgniter\Session\Session
     */
    
protected $session;

    
/**
     * Constructor.
     *
     * @param RequestInterface  $request
     * @param ResponseInterface $response
     * @param LoggerInterface   $logger
     */
    
public function initController(RequestInterface $requestResponseInterface $responseLoggerInterface $logger)
    {
        
// Do Not Edit This Line
        
parent::initController($request$response$logger);

        
//--------------------------------------------------------------------
        // Preload any models, libraries, etc, here.
        //--------------------------------------------------------------------
        // E.g.: $this->session = \Config\Services::session();

        // Ensure that the session is started and running
        
if (session_status() == PHP_SESSION_NONE)
        {
            
$this->session Services::session();
        }

    }
   // ---------------------------------------------------------------



Also you can always call the session helper.

PHP Code:
$item session('itemName');

// it is also chainable 
$item session()->get('itemName'); 
What did you Try? What did you Get? What did you Expect?

Joined CodeIgniter Community 2009.  ( Skype: insitfx )
Reply


Messages In This Thread
BaseController __construct - by kristianlake - 01-18-2021, 10:43 AM
RE: BaseController __construct - by InsiteFX - 01-18-2021, 12:32 PM
RE: BaseController __construct - by kristianlake - 01-18-2021, 02:01 PM



Theme © iAndrew 2016 - Forum software by © MyBB