Non ha senso perché sostanzialmente hai solo riscritto il mio codice senza risolvere il problema di fondo, ovvero: perché cacchio se scrivo un costrutto condizionale in cui chiedo di fare una certa cosa se una variabile ha un valore e un'altra se questo valore non c'è, perché cacchio questo non accade.
Non ha senso perché l'ho provata e la risposta è sempre true, il che appunto non ha senso come non aveva senso nel codice che avevo scritto io.
Non ha senso perché se tolgo il costrutto condizionale all'interno di __construct() e provo a chiamare la classe senza un parametro mi da errore, ma altrimenti non riesco a intercettare questo cacchio di errore.
Potrei evitare di verificare la condizione di vero o falso e inserire tutto dentro un ciclo try/catch, sicuramente più elegante ma non ha senso che questa fesseria non funzioni