Prawie każdy publiczny CMS używa pliku konfiguracyjnego .php do ustawień bazy danych i tak dalej. Na przykład WordPress automatycznie tworzy plik konfiguracyjny .php podczas instalacji.
Dlaczego po prostu nie używają pliku .ini? PHP ma już parse_ini_file () i jestem pewien, że inne języki mają podobne funkcje.
źródło
relate to one well-defined, portable syntax for configuration
Nie rozumiem tego Pliki ini mają również dobrze zdefiniowaną i przenośną składnię. Każdy.conf.php
plik ma własną strukturę, większość jest oparta na tablicy, ale nie różni się tak bardzo od pliku ini..ini
plików do przechowywania konfiguracji, bez wątpienia uruchomionych byłoby wiele źle skonfigurowanych instancji, w których konfiguracja była publicznie dostępna, co zwykle nie jest dobrą rzeczą. W przypadku plików PHP bardzo rzadko zdarza się, że serwer jest źle skonfigurowany, aby wyświetlać zawartość gościowi.Ogólnie rzecz biorąc wolę
.ini
pliki konfiguracyjne XML. W większych systemach często ktoś inny niż programista będzie musiał zmienić wartość konfiguracji, na przykład DBA lub sysadmin. Większość administratorów DBA i sysadminów, które znam, nie miałoby problemu z nawigacją po prostym skrypcie PHP, ale wolałbym, gdyby tak nie było. Jeden mały błąd może zaszkodzić całej aplikacji na kilka sposobów.Ale w mniejszych systemach niezwykle wygodne jest używanie skryptów PHP do konfiguracji. Bawiłem się dzisiaj z AWS SDK , który do konfiguracji używa również skryptu PHP:
Zamiast na stałe a
default_cache_config
, przekazuję temp systemu, i to działałoby w każdym systemie, w którym wdrażam skrypt. Ten skrypt jest niewielkim dowodem koncepcji, który zostanie przekazany około 10 programistom, i chcę, aby działali w niezmienionej formie, nie mając o czym myśleć. Jeśli prototyp ewoluuje, połączę go z moją klasą konfiguracyjną XML (i oczywiście nie będę polegać na pamięci podręcznej systemu plików).źródło
Odpowiedź jest prosta: conf.php wymaga praktycznie zerowej pracy, aby mógł działać. To tylko kolejny plik źródłowy.
źródło
Przyczyną może być również prędkość bez buforowania. W razie potrzeby konfiguracja PHP może być przezroczyście buforowana opcode. Podczas gdy plik INI musi być analizowany tekstowo za każdym razem, gdy jest czytany, i musisz samodzielnie utworzyć pamięć podręczną. W przypadku małych plików jest to w porządku, ale z setkami wierszy parsowanych na każde żądanie, może wzrosnąć do dziesiątek milisekund, co jest całkiem sporo jak na 200ms zoptymalizowany internet.
źródło