Cytat(darko @ 12.01.2018, 11:15:10 )

To, co nazywasz stałymi, to w rzeczywistości chronione pola statyczne klasy, do definiowania stałych używamy słowa kluczowego CONST:
class Config
{
CONST MYSQL_HOST = 'localhost';
Dodam, że jeśli chcesz żeby stała była protected to możesz to zrobić jeśli masz wersję PHP 7.1:
class Config
{
protected CONST MYSQL_HOST = 'localhost';
No i nospor ma rację, taka konfiguracja powinna być w oddzielnym pliku. Ja zwykle tworzę plik o nazwie np. database.php z taką zawartością:
<?php
return
[
'host' => 'localhost',
'port' => '3306'
'db_name' => 'nazwa bazy',
'db_user' => 'użytkownik',
'db_password' => 'hasło'
];
Potem w tej klasie Config możesz zrobić:
class Config
{
public function __construct()
{
$database = require('database.php');
echo($database['db_user']); //wyświetli "użytkownik", oczywiście nie dawaj tego echo, to tylko przykład żeby ci pokazać jak to działa }
}
No i jeszcze to:
public static function getServerDomain
(): string
{
return str_replace('www.', '', $_SERVER['SERVER_NAME']); }
public static function getServerEmail
(): string
{
return 'kontakt@' . str_replace('www.', '', $_SERVER['SERVER_NAME']); }
Po co stworzyłeś metodę getServerDomain() skoro potem jej nie używasz? Możesz to zamienić na:
public static function getServerDomain
(): string
{
return str_replace('www.', '', $_SERVER['SERVER_NAME']); }
public static function getServerEmail
(): string
{
return 'kontakt@' . self::getServerDomain();
}
Poza tym $administratorEmail czy $moderatorEmail przecież mogą się zmieniać. Warto to umieścić np. w bazie danych i cachować.