Salut à toi lecteur,
je viens de faire une découverte qui m'intrigue,![]()
en générant les blocs de commentaires de phpdoc quand j'avais des fonctions avec des arguments il me générait des lignes dans ce genre la
Alors je me suis dit que si il trouvait que c'était un type non déclaré il devait y avoir moyen de déclarer un type à la main... un petit test rapide plus tard (pas d'erreur à la déclaration seule, mais bien erreur à l'appel de la fonction)/**
* @param unknown_type $root
* @param unknown_type $section
* @param unknown_type $name
/*
Message d'erreur me disant qu'il attends un objet de classe string en paramètre 1
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 function test(string $param) { echo $param; } test("pour voir si ça marche !");
Après une recherche rapide sur la faq et le manuel php impossible de trouver comment déclarer le type string pour ne plus avoir ce warning.Fatal error: Argument 1 must be an object of class string
Ma question (on y arrive enfin) est donc la suivante :
Est il possible de typer ses arguments de fonction (dans un souci de sécurité, de meilleur contrôle etc etc) avec les types de base (int, str , bool..) ou est-ce seulement possible avec des objets instanciés de classes ?
PS: je n'ai pas testé en passant un objet d'une classe existante mais je suppute que ça doit fonctionner.
Partager