Maison > développement back-end > tutoriel php > Solution au problème des constructeurs multiples en php

Solution au problème des constructeurs multiples en php

黄舟
Libérer: 2023-03-12 10:14:02
original
2819 Les gens l'ont consulté

Pour implémenter un constructeur , il faut deux variables , et l'autre constructeur est un tableau .
Par exemple :

public function construct($id, $dname)
public function construct($device=array())
Copier après la connexion

Je ne l'ai trouvé que sur Internet. Il est implémenté en jugeant le nombre de paramètres via func_num_args. Existe-t-il un moyen de l'implémenter en jugeant le type ?

Il est impossible d'avoir deux fonctions de méthode portant le même nom dans un même fichier en même temps
2 Si elles sont dans des fichiers différents, vous pouvez utiliser l'espace de noms pour implémenter la même fonction Call (la version php doit être 5.3.0 ou supérieure)Votre jugement n'a donc pas de sens réel

PHP ne peut pas être surchargé, changez les paramètres en tableau et faites la différence à l'intérieur la fonction

Moi Vous voulez voir comment ils cohabitent dans le code source, l'héritage ?

gettype -- Récupère le type de la variable


construct n'est pas le constructeur de la classe php
construct l'est !

Bien que php ne supporte pas la surcharge, l'affiche n'a pas dit qu'il s'agit d'une méthode du même nom dans une classe

Jugez le type de paramètre dans le constructeur constructeur, puis prenez différentes branches C'est ça. Si vous ne supportez pas la surcharge de manière native, simulez-la simplement ~

php ne prend pas en charge la surcharge de fonctions comme C. Tout comme vous l'avez dit, utilisez la fonction func_num_arg puis jugez les paramètres pour créer une branche. initialisation

Vous pouvez déterminer le nombre et le type de paramètres dans construct.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers numéros
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal