bredom
12/25/2017 - 8:21 PM

Configration file

Odczytywanie danych z pliku config.php

<?php 

namespace Project\Helpers;

class Config {

	protected $data;
	protected $default;
	
	public function load($file) {

		$this->data = require $file;
	}

	public function get($key, $default = null) {
		$this->default = $default;

		$segments = explode('.', $key);
		$data = $this->data;

		foreach ($segments as $segment) {
			if(isset($data[$segment])) {
				$data = $data[$segment];
			} else {
				$data = $this->default;
				break;
			}
		}

		return $data;
	}

	public function exists($key) {
		return $this->get($key) !== $this->default;
	}
}

?>
<?php 

return [
	'db' => [
		'host' => '127.0.0.1',
		'name' => 'website',
		'user' => 'root',
		'pass' => 'root'
	],
	'mail' => [
		'host' => 'smtp.gmail.com'
	]
];

?>
<?php 

use Project\Helpers\Config;

require 'app/Config.php';

$config = new Config;

$config->load('config.php');

echo $config->get('db.host');