Quindi so che posso fare restituire il tipo di suggerimento in php7. Posso fare un rendimento suggerimento oggetto con:PHP tipo di ritorno suggerimento, oggetto O un booleano?
function getUser($pdo, $username) : User
{
}
in cui l'utente è l'oggetto che viene restituito.
Tuttavia, se l'utente non si trova nella SQL, tornando 'false'
invece di un oggetto utente dà:
Uncaught TypeError: Return value of UserFind::findUser() must be an instance of User, boolean returned
Ma cosa succede se l'SQL non può trovare l'utente? Come posso restituire un valore booleano, falso, se l'utente non esiste? Devo semplicemente ignorare il tipo di suggerimento di ritorno in questo scenario?
MODIFICA: ho esaminato l'altra domanda, 'Nullable return types in php 7' e mentre la mia domanda è quasi identica, voglio estendere la mia domanda chiedendo se ci sarebbe mai stato un modo per restituire uno di due tipi . Ad esempio restituire un oggetto o una stringa se l'oggetto non esiste?
Eventuali duplicati di [tipi restituiti Nullable in PHP7] (http://stackoverflow.com/questions/33608821/nullable-return-types-in- php7) –
Trovo sempre domande strane, perché la mia prima reazione è sempre "usa un'eccezione". E poi ricordo che le eccezioni sono, come molte altre cose, il cosiddetto "figliastro dai capelli rossi" in PHP. –
@ IgnacioVazquez-Abrams PHP utilizza generalmente un altro approccio alle eccezioni in generale. Ad esempio Python li usa per quasi tutto. PHP no. Anche le eccezioni sono abbastanza lente in generale, non aiuta neanche il caso. – bwoebi