Welcome Guest, Not a member yet? Register   Sign In
Time::now() in every controller
#3

Put it in BaseController, then assign an instance to a class property in the constructor, like so:

PHP Code:
<?php
namespace App\Controllers;

/**
 * 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.
 *
 * @package CodeIgniter
 */

use CodeIgniter\Controller;
use 
CodeIgniter\I18n\Time;

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 = [];

    
/**
     * Constructor.
     */
    
public function initController(\CodeIgniter\HTTP\RequestInterface $request, \CodeIgniter\HTTP\ResponseInterface $response, \Psr\Log\LoggerInterface $logger)
    {
        
// Do Not Edit This Line
        
parent::initController($request$response$logger);

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




Then you can call it from any controller extending BaseController like so:




PHP Code:
$this->time->now(); 
Reply


Messages In This Thread
Time::now() in every controller - by beng - 03-28-2020, 09:05 AM
RE: Time::now() in every controller - by maxxd - 03-29-2020, 07:28 AM
RE: Time::now() in every controller - by beng - 03-29-2020, 07:55 AM



Theme © iAndrew 2016 - Forum software by © MyBB