То, как вы структурируете свой код, просто неверно. PHP допускает много сумасшедших вещей, но определение констант и вывод кода как части абстрактного класса не имеет никакого смысла с точки зрения ООП.
То, что вы, вероятно, хотите сделать, это иметь вспомогательный класс, который определяет параметры конфигурации на основе имени локального сервера. Для этого у вас есть пара вариантов:
Вариант 1) Создать обычный класс с помощью конструктора.
class Config {
public $x;
public $y;
public function __construct() {
switch (...) {
$this->x = 2;
$this->y = 3;
}
}
}
И используйте это так:
$config = new Config();
echo "Variable y: " . $config->y;
Вариант 2) Статический метод в абстрактном классе.
abstract class Config {
public $boolInitialized = false;
public static function init() {
if (self::$boolInitialized) {
return;
}
self::$boolInitialized = true;
switch (...) {
self::$x = 1;
self::$y = 2;
}
}
public static function getX() {
self::init();
return self::$x;
}
}
И используйте это так:
echo Config::getX();