2016-08-20 1 views
2

다른 클래스의 메서드에서 사용하려는 구성 파일에 일부 변수와 상수가 있습니다 config.phpmyclass.php은 같은 폴더에 있습니다. . 다른 파일의 클래스 내에서 사용하도록 config.php 파일을 구성하는 방법

config.php

<?php 
$a=1; 

myclass.php

class MyClass 
{ 
    protected function a() { 
    include_once('config.php'); 
    echo $a; //$a is undefined here 
    } 
} 

이것에 대한 더 나은 방법이 있나요?

+0

포함 된 파일에서 변수 (배열 일 수도 있습니다)를 반환 할 수 있습니다. 설명서의 예제 5에서 'include'에 대한 내용을 참조하십시오 – Jeff

답변

1

구성 파일에 다른 클래스를 만들면 모든 구성 값 및 작업에 대한 래퍼 역할을합니다. 이것은 프로젝트 개발에서 OOP에 가치를 부여하는 경우에도 최고의 접근 방식입니다.

myclass.php

<?php 
/** 
* PhpDoc... 
*/ 
class YourConfig 
{ 
    /** 
    * Your constant value 
    */ 
    const DB_HOST = 'localhost'; 

    /** 
    * @var string Some description 
    */ 
    private $layout = 'fluid'; 

    /** 
    * Your method description 
    * @return string layout property value 
    */ 
    public function getLayout() 
    { 
    return $this->layout; 
    } 
} 

config.php

<?php 
/** 
* PhpDoc 
*/ 
class MyClass 
{ 
    private $config; 

    public function __construct() 
    { 
    require_once(__DIR__ . '/config.php'); 
    $this->config = new Config(); 
    } 

    protected function a() 
    { 
    // get a config 
    echo $this->config->getLayout(); 
    } 
} 

사용 및/그러나 당신이 원하는 것을 위해이 방법을 확장 할 수 있습니다.

+1

매우 깨끗해 보입니다. 감사합니다. – user2650277

+0

안녕하세요. – MNR

관련 문제