Explication
Après avoir écrit Java pendant un certain temps, je ne suis particulièrement pas habitué à la méthode de saisie faible de PHP lui-même. Je me sens toujours mal à l'aise lorsque j'écris du code, en particulier PHP lui-même est un langage faiblement typé, donc lors du codage, il n'y a souvent pas d'invite de code.
Un exemple général
class Data { public $name; public $gender; public $age; public function __construct($name,$gender,$age) { $this->name = $name; $this->gender = $gender; $this->age = $age; } } class Test { public function run() { $data = [ new Data('张三','男',18), new Data('李四','男',14), new Data('王五','男',17), new Data('大姨妈','女',23), ]; } private function eachData($data) { foreach($data as $item) { echo $item->name.'=>'.$item->gender.'=>'.$item->age."\n"; } } } (new Test)->run();
D'après l'exemple ci-dessus, de manière générale, il n'y a pas de problème, cependant, lors de l'écriture du code
cho $item->name.'=>'.$item->sex.'=>'.$item->age."\n";
, lors de l'appel, il n'y a pas d'invite automatique. pour les attributs, donc lorsque la quantité de données est importante, vous devez les faire défiler vers le haut et les copier ou les écrire, ce qui réduit la vitesse de codage, et parfois vous ne savez pas quoi écrire et vous avez peur de faire des erreurs.
Ce qui suit est un exemple complet que j'ai écrit en utilisant les commentaires et les fonctionnalités PHP :
class Data { public $name; public $gender; public $age; public function __construct($name,$gender,$age) { $this->name = $name; $this->sex = $gender; $this->age = $age; } } class Test { public function run() { $data = [ new Data('张三','男',18), new Data('李四','男',14), new Data('王五','男',17), new Data('大姨妈','女',23), ]; } /** * 遍历输出数据 * @param array $data */ private function eachData($data) { foreach($data as $item) { if($item instanceof Data) { echo $item->name.'=>'.$item->gender.'=>'.$item->age."\n"; } } } } (new Test)->run();
L'essentiel ici est d'ajouter un jugement if pour déterminer si le type de données est une instance spécifique de Data ;
À cet endroit, PHPstorm vous demandera automatiquement lors de l'appel de l'attribut $item en fonction de ce jugement, ce qui est très pratique.
Réflexion
Certaines pensées que j'ai tirées d'ici sont que nous pouvons mieux prendre en compte la rigueur lors de l'écriture de programmes, à partir de l'exemple ci-dessus, nous pouvons le faire de cette façon et ajouter certains mécanismes de gestion des erreurs peuvent mieux. garantir la sécurité et l'intégrité des données, et pas seulement la commodité des invites de l'éditeur.
Lorsque vous effectuerez l'inspection et le suivi du code plus tard, ce sera une chose très pratique et la logique métier sera plus claire.