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?

Jawaban:


194

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

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


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.


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');

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


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.


2

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


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"

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


1

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

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


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}');

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.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.