CodeIgniter - görünümde $ config değişkenine erişim


101

Genellikle $configgörünümlerdeki değişkenlere erişmem gerekir . Onları kontrolörden geçirebileceğimi biliyorum load->view(). Ama bunu açıkça yapmak aşırı görünüyor.

$configDenetleyicileri yedek kodla rahatsız etmeden değişkene CI görünümlerinden erişmenin bir yolu veya hilesi var mı ?

Yanıtlar:


194

$this->config->item() iyi çalışıyor.

Örneğin, eğer yapılandırma dosyası içeriyor $config['foo'] = 'bar';sonra$this->config->item('foo') == 'bar'


güzel faydalı cevap
Yagnesh bhalala

29

Ayrıca, Common işlevi config_item()CodeIgniter örneğinde hemen hemen her yerde çalışır. Denetleyiciler, modeller, görünümler, kitaplıklar, yardımcılar, kancalar, her neyse.


1
Bunun için teşekkürler - Bir kancadan yapılandırma değerine erişmede sorun yaşıyordum. Başkaları için bu harika çalışıyor.
CashIsClay

1
Ancak config_item()şu $this->config->item()
sürümde

15

Bunun gibi bir şey yapabilirsiniz:

$ci = get_instance(); // CI_Loader instance
$ci->load->config('email');
echo $ci->config->item('name');

3
Gerçekte bir görünüm içinde $ this CI_Loader'a ve get_instance () her zaman olduğu gibi CI_Base () 'ye atıfta bulunur.
Phil Sturgeon

8

$this->config->item('config_var') benim durumum için işe yaramadı.

config_item('config_var');Görünümde yalnızca yankı değişkenlerini kullanabilirdim


4

Denetleyiciniz veritabanlarından, yapılandırmalardan vb. Tüm bilgileri toplamalıdır. Buna bağlı kalmak için birçok iyi neden vardır. Bunun iyi bir nedeni, bu bilginin kaynağını oldukça kolay bir şekilde değiştirmenize ve görüşlerinizde herhangi bir değişiklik yapmanız gerekmemesine izin vermesidir.


2

Yapılandırma değişkenlerine ne zaman erişmem gerekirse kullanırım: $ this-> config-> config ['variable_name'];


Neden bilmiyorum ama bugünden beri $ this-> config-> item ('var_name'); artık benim için çalışmadı .. alternatif yol için teşekkürler. merak ediyorum .. bu yöntem yasal mı?
dapidmini

2
echo $this->config->config['ur config file'] 

Yapılandırma dosyanız da resme gelirse, bu şekilde erişmeniz gerekir, örneğin yapılandırma klasörüne bir app.php ekliyorum Bir değişkenim var

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

Şimdi denetleyicime veya modelime erişmek istiyorum.

Birinin çalışması gereken iki durumu takip etmeyi deneyin

dava 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

Ben böyle yaptım. Config.php içinde

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

Applications / view / header.php'de (html kodu varsayılarak)

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

Başlık Örneği


1

$config['cricket'] = 'bat'; config.php dosyasında

$this->config->item('cricket') bunu görünümde kullan


0

Yapılandırma değişkenine kullanmak yerine denetleyiciye erişmeye çalışıyorsanız

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

Yapılandırma değişkenine denetleyicinin dışına (yardımcı / kancalar) erişmeye çalışıyorsanız, o zaman kullanın

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

0

Örnek, eğer sahipseniz:

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

config.php dosyanızı ayarlayınız sonra

echo base_url();

Bu neredeyse her yerde çok iyi çalışıyor.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.