Ho notato in alcuni script delle istruzioni simili a questa:
Tralasciando il fatto che in uno script che si rispetti session_start() dovrebbe essere chiamato una sola volta nel front controller, le tre righe possono essere ridotte a una così:
Come sapete l'operatore ternario è un if/else in linea, dunque questa istruzione:
Equivale a questa:
Quello che succede con il nostro codice precedente, dunque, è questo:
PHP:
if (!isset($_SESSION)) {
session_start();
}
PHP:
isset($_SESSION) ?: session_start();
PHP:
$foo = 'foo';
$bar = $foo == 'foo' ? 'bar' : 'baz';
PHP:
$foo = 'foo';
if ($foo == 'foo') {
$bar = 'bar';
} else {
$bar = 'baz';
}
PHP:
if (isset($_SESSION)) {
} else {
session_start();
}