11-27-2019, 02:43 AM
How to access config file variables Globally in all views without passing it from controller?
i have a config file : app/config/SiteConfig.php
Now am passing it from controller like this
Is there any better way to accomplish this without passing it from every controller methods?
i have a config file : app/config/SiteConfig.php
PHP Code:
<?php namespace Config;
use CodeIgniter\Config\BaseConfig;
class SiteConfig extends BaseConfig
{
public $siteName = 'My Website';
public $siteDomain = 'www.example.com';
public $siteUrl = 'http://www.example.com';
public $siteSecureUrl = 'https://www.example.com';
public $siteEmail = '[email protected]';
/**
* Google Site Verification & Maps Key
*/
public $googleSiteVerificationKey = '';
public $googleMapsApiKey = '';
/**
* Default Meta and Page Title info
*/
public $defaultPageTitle = "";
public $defaultMetaDesc = "";
public $defaultMetaKeywords = "";
public $defaultRobots = "";
}
Now am passing it from controller like this
PHP Code:
<?php
namespace App\Controllers\Backend;
use App\Controllers\Backend;
use App\Models\Backend\UserModel;
class Users extends Backend
{
protected $userModel;
public function __construct(){
parent::__construct();
$this->userModel = new UserModel();
}
/**
* Function to display users list
*/
public function index()
{
$data = array(
'siteConfig' => $this->siteConfig
);
$data['users'] = $this->userModel->getUsers();
echo view( 'backend/users/list', $data );
}
/**
* Function to create user
*/
public function createUser()
{
$data = array(
'siteConfig' => $this->siteConfig
);
$data['groups'] = $this->userModel->getUserGroups();
echo view( 'backend/users/new', $data );
}
}
Is there any better way to accomplish this without passing it from every controller methods?