Как структурировать мой файл config.php для использования внутри классов в других файлах

У меня есть некоторые переменные и константы в файле конфигурации, которые я хочу использовать в методе класса в другом config.php а также myclass.phpнаходятся в той же папке.

config.php

<?php
$a=1;

myclass.php

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

Есть ли лучший подход для этого?

2

Решение

Вы можете создать другой класс в вашем конфигурационном файле, и он будет служить оболочкой для всех ваших значений конфигурации и операций. Это лучший подход также, если вы придает значение ООП в разработке вашего проекта.

config.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;
}
}

myclass.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

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector