Last active
July 30, 2022 13:19
-
-
Save ribafs/653c748e795c61a3fcaad3387aa1463c to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| A partir da versão 7.4 podemos definir propriedades de classes com tipos o que é muito interessante e importante. | |
| Fui fazer um pequeno teste e me veio uma dúvida: | |
| <?php | |
| declare(strict_types=1); // Esta linha resolve o problema e exige de fato que os tipos sejam respeitados | |
| class User | |
| { | |
| public int $id; | |
| public string $name; | |
| } | |
| $user = new User(); | |
| //print $user->id = 'Riba'; | |
| //print $user->name = 35; | |
| A linha acima atribuindo 'Riba' para a propriedade id apresenta erro e faz sentido, pois id foi definido como inteiro. | |
| Mas a linha com 35 não apresenta erro, como se 35 fosse string. Toda string deve vir entre '' ou "" ou não. | |
| Como posso exigir que name receba apenas letrar e numca algarismos ou símbolos? |
Author
Author
Resolvido pelo colega Marlon Maia
Opa man, vc precisa passar por PHP um param pra forçar os types, add logo abaixo da linha
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Assim parece que dá certo:
if($user->name === is_string(trim($user->name))){
print 'Nome válido';
}else{
print 'Nome inválido';
exit;
}