문제

Kohana의 구성 파일은 다음과 같습니다. 데이터베이스 구성 파일의 예는 다음과 같습니다 (단순화)

return array(
    'dbhost' => 'localhost',
    'user'   => 'Tom_Jones'
);

연결 세부 사항을 원하는 CMS도 있습니다. CMS는 다른 사용자를 사용하는 동안 (더 많은 권한이있는)이 파일을 포함시키는 가장 좋은 방법을 알고 싶습니다.

나는 아직 우아한 솔루션에 대해 생각하지 않았으며 아직 코 하나 주변에서 그것이 어떻게 그것을하는지 알지 못했습니다. 금요일 늦은 금요일이므로 저를 제외한 모든 사람들에게 정말 분명 할 것입니다.

업데이트

내 사과, 나는 이것이 사용중인 것을 포함하는 것을 잊었다 코 하나 3!

도움이 되었습니까?

해결책

Kohana v3에서 Kohana_Config_Reader 클래스, 메소드 load():

$config = Arr::merge($config, require $file);

require $file 구성 파일에 배열을로드하는 데 사용됩니다.

다른 팁

Kohana를 다운로드했는데 예제처럼 보이는 파일을 파일 할 수 없었지만 현재 버전을 사용하는 경우 다음과 같은 구성 파일을 용도 변경할 수 있습니다.

<?php
  // Your script
  define('SYSPATH', 'true'); // So Kohana doesn't kill our script
  $config = array();
  include('path/to/system/config/database.php');

  echo $config['default']['connection']['user']; // Echos database user
?>

http://docs.php.net/function.include 말 :

또한 포함 된 파일에서 값을 반환 할 수 있습니다. 정상적인 기능으로 포함 된 통화의 값을 취할 수 있습니다.

예제 코드를 가져 가자

<?php // test2.php
return array(
  'dbhost' => 'localhost',
  'user'   => 'Tom_Jones'
);

그리고 test2.php를 포함하는 스크립트

<?php
$cfg = include 'test2.php';
if ( !is_array($cfg) ) {
    // ... add useful error handling here ...
}
// you might want to test the structure of $cfg
// before accessing specific elements
echo $cfg['dbhost'];

인쇄물 localhost.

그만큼 선적 서류 비치 해당 구성 파일에 액세스하는 방법에 대한 기본 정보가 포함되어 있습니다. 따라서 다음 파일에 다음이있는 경우 db.php 안에 application/config:

<?php defined('SYSPATH') or die('No direct script access.');

return array(
    'host' => 'localhost',
    'user'   => 'Tom_Jones'
);

다음과 같이 액세스 할 수 있습니다.

$options = Kohana::config('db');
echo $options['user'];
echo $options['host'];

또는 이렇게 :

echo Kohana::config('db.user');
echo Kohana::config('db.host');

또는 이렇게 :

echo Kohana::config('db')->user;
echo Kohana::config('db')->host;
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top