Я пытаюсь понять, как я хочу обрабатывать настройки в своем приложении PHP. Я довольно сильно решил, что хотел бы использовать файл класса Confg, чтобы он был автоматически загружен и гибко в будущем. Ниже приведены некоторые вещи, с которыми я играл.Могу ли я установить свойство класса PHP из существующей переменной?
Я знаю, что вы не можете установить переменную для пополнения константы, чтобы затем попытаться использовать общедоступное статическое свойство.
Почему я не могу установить public static $ ip = $ _SERVER ['REMOTE_ADDR']; ??
<?php
// config.class.php
class Config
{
const URL = 'http://www.foo.com';
const DB_User = 'dbname';
public static $test = 'test string';
public static $ip = $_SERVER['REMOTE_ADDR'];
}
///////////////////////////////////////////////////////
//index.php
// works
echo Config::URL;
// works
echo Config::$test;
// DOES NOT WORK
echo Config::$ip;
?>
Хотя это альтернатива тому, что вы ищете, я бы рекомендовал, возможно, установить массив как закрытый для хранения значений и использования магических переменных PHP __get __set и извлекать значения массива. – William
На самом деле это своего рода то, что я думал о том, как это нужно сделать, чтобы это хорошо +1 – JasonDavis
Обновлено с лучшим примером. – William