PHP: define() vs const — was ist der Unterschied und was ist besser zu verwenden?
Hallo zusammen! Ich schreibe seit etwa einem Jahr PHP und eine Frage quält mich ständig. Ich sehe, dass in verschiedenen Projekten Konstanten unterschiedlich deklariert werden: Manche verwenden define(), andere das Schlüsselwort const.
Zum Beispiel sehe ich in alten Frameworks oft solchen Code:
```php
define('DB_HOST', 'localhost');
define('DB_NAME', 'mydb');
```
Und in modernen Projekten mit Laravel oder Symfony so etwas:
```php
class Config {
const API_KEY = 'abc123';
const TIMEOUT = 30;
}
```
Oder sogar einfach im globalen Gültigkeitsbereich:
```php
const MAX_USERS = 100;
```
Ich habe PSR-1 und PSR-12 gelesen, aber dort steht es ziemlich vage. Angeblich wird const empfohlen, aber es wird nicht erklärt, warum. Ich habe beide Varianten ausprobiert — und beide funktionieren. Aber mich verwirrt, dass define() es erlaubt, Konstanten innerhalb von if-Blöcken zu definieren, const hingegen nicht. Und ich habe auch gehört, dass const in neueren PHP-Versionen schneller geworden ist. Stimmt das?
Bitte sagt mir, in welchen Situationen welche Methode besser ist. Gibt es irgendwelche praktischen