CodeIgniter-보기에서 $ config 변수에 액세스


101

$config뷰에서 변수에 액세스해야하는 경우가 자주 있습니다. 컨트롤러에서 load->view(). 그러나 그것을 명시 적으로하는 것은 과도하게 보인다.

$config여분의 코드로 컨트롤러를 방해하지 않고 CI보기에서 변수 에 액세스 할 수있는 방법이나 트릭이 있습니까?

답변:


194

$this->config->item() 잘 작동합니다.

예를 들어, 구성 파일에 $config['foo'] = 'bar';다음이 포함되어 있으면$this->config->item('foo') == 'bar'


좋은 도움이되는 답변
Yagnesh bhalala

29

또한 Common 함수 config_item()는 CodeIgniter 인스턴스 전체에서 거의 모든 곳에서 작동합니다. 컨트롤러, 모델, 뷰, 라이브러리, 도우미, 후크 등.


1
감사합니다. 후크에서 구성 값에 액세스하는 데 문제가있었습니다. 다른 누구에게도 이것은 훌륭하게 작동합니다.
CashIsClay 2013-06-21

1
그러나, config_item()에서 사용할 수있는 충돌 보호하지 않습니다$this->config->item()
Ijas Ameenudeen

15

다음과 같이 할 수 있습니다.

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

3
뷰 내의 실제 $ this는 CI_Loader를 참조하고 get_instance ()는 항상 CI_Base ()를 참조합니다.
Phil Sturgeon

8

$this->config->item('config_var') 내 경우에는 작동하지 않았습니다.

config_item('config_var');보기에서 변수를 에코 하는 데만 사용할 수 있습니다.


4

컨트롤러는 데이터베이스, 구성 등에서 모든 정보를 수집해야합니다.이를 고수해야하는 많은 이유가 있습니다. 한 가지 좋은 이유는 이렇게하면 해당 정보의 소스를 매우 쉽게 변경할 수 있고 뷰를 변경할 필요가 없기 때문입니다.


2

구성 변수에 액세스해야 할 때마다 사용하는 경향이 있습니다. $ this-> config-> config [ 'variable_name'];


이유는 모르겠지만 오늘부터 $ this-> config-> item ( 'var_name'); 나를 위해 더 이상 일하지 않았다 .. 다른 방법을 주셔서 감사합니다. 이 방법이 합법적입니까?
dapidmini

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

구성 파일도 그림으로 나오면 이와 같이 액세스해야합니다. 예를 들어 구성 폴더에 app.php를 포함합니다. 변수가 있습니다.

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

이제 컨트롤러 또는 모델에 액세스하고 싶습니다.

다음 두 가지 경우를 시도해보십시오.

case1 :

$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

이것이 내가 한 방법입니다. config.php에서

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

applications / view / header.php (html 코드 가정)

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

제목의 예



0

사용하는 것보다 컨트롤러에 구성 변수에 액세스하려는 경우

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

컨트롤러 (도우미 / 후크) 외부로 구성 변수에 액세스하려는 경우 다음을 사용하십시오.

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

0

예 : 다음이있는 경우 :

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

당신의 설정 config.php를 다음

echo base_url();

이것은 거의 모든 곳에서 매우 잘 작동합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.