CodeIgniter - mengakses variabel $ config dalam tampilan

101

Cukup sering saya perlu mengakses $configvariabel dalam tampilan. Saya tahu saya dapat meneruskannya dari pengontrol ke load->view(). Tapi sepertinya berlebihan untuk melakukannya secara eksplisit.

Apakah ada cara atau trik untuk mengakses $configvariabel dari tampilan CI tanpa mengganggu pengontrol dengan kode cadangan?

AlexA
sumber

Jawaban:

194

$this->config->item() bekerja dengan baik.

Sebagai contoh, jika file konfigurasi berisi $config['foo'] = 'bar';kemudian$this->config->item('foo') == 'bar'

Phil Sturgeon
sumber
jawaban yang bagus dan bermanfaat
Yagnesh bhalala
29

Selain itu, fungsi Common berfungsi config_item()hampir di semua tempat di seluruh instance CodeIgniter. Pengontrol, model, tampilan, perpustakaan, pembantu, pengait, apa pun.

Phil Sturgeon
sumber
1
Terima kasih untuk ini - Saya mengalami masalah saat mengakses nilai konfigurasi dari hook. Untuk orang lain, ini bekerja dengan baik.
CashIsClay
1
Namun, config_item()tidak memiliki pelindung tabrakan yang tersedia di$this->config->item()
Ijas Ameenudeen
15

Anda bisa melakukan sesuatu seperti itu:

$ci = get_instance(); // CI_Loader instance
$ci->load->config('email');
echo $ci->config->item('name');
Alexey Shein
sumber
3
Sebenarnya dalam tampilan $ this mengacu pada CI_Loader dan get_instance () mengacu pada CI_Base () seperti biasa.
Phil Sturgeon
8

$this->config->item('config_var') tidak bekerja untuk kasus saya.

Saya hanya bisa menggunakan config_item('config_var');variabel untuk menggemakan dalam tampilan

pengguna1002232
sumber
4

Kontroler Anda harus mengumpulkan semua informasi dari database, konfigurasi, dll. Ada banyak alasan bagus untuk tetap berpegang pada ini. Salah satu alasan yang bagus adalah bahwa ini akan memungkinkan Anda untuk mengubah sumber informasi tersebut dengan mudah dan tidak perlu membuat perubahan apa pun pada pandangan Anda.

Utah_Dave
sumber
2

Setiap kali saya perlu mengakses variabel config, saya cenderung menggunakan: $ this-> config-> config ['variable_name'];

Lab situs web
sumber
Saya tidak tahu mengapa tetapi sejak hari ini $ this-> config-> item ('var_name'); tidak berfungsi lagi untuk saya .. terima kasih untuk cara alternatif. hanya ingin tahu .. apakah metode ini legal?
dapidmini
2
echo $this->config->config['ur config file'] 

Jika file konfigurasi Anda juga muncul, Anda harus mengakses seperti ini misalnya saya menyertakan app.php di folder config Saya punya variabel

$config['50001'] = "your  message"   

Sekarang saya ingin akses di pengontrol atau model saya.

Coba ikuti dua kasus yang seharusnya berhasil

kasus 1:

$msg = $this->config->item('ur config file');

echo $msg['50001'];    //out put:  "your message";

case2:

 $msg = $this->config->item('50001');

 echo $msg;    //out put:  "your message"
krishna_coolsofty
sumber
2

Beginilah cara saya melakukannya. Di config.php

$config['HTML_TITLE'] = "SO TITLE test";

Dalam aplikasi / view / header.php (dengan asumsi kode html)

<title><?=$this->config->item("HTML_TITLE");?> </title>

Contoh Judul

fangstar
sumber
1

$config['cricket'] = 'bat'; dalam file config.php

$this->config->item('cricket') gunakan ini dalam pandangan

Rick
sumber
0

Jika Anda mencoba mengakses variabel config ke controller daripada menggunakan

$this->config->item('{variable name which you define into config}');

Jika Anda mencoba mengakses variabel config di luar controller (helper / hooks), gunakan

$mms = get_instance();  
$mms->config->item('{variable which you define into config}');
Mannu saraswat
sumber
0

Contoh, jika Anda memiliki:

$config['base_url'] = 'www.example.com'

setel di config.php Anda lalu

echo base_url();

Ini bekerja dengan sangat baik hampir di setiap tempat.

rahim.nagori
sumber