Le modèle d'usine est notre modèle d'objet d'instanciation le plus couramment utilisé. Il s'agit d'un modèle qui utilise des méthodes d'usine pour remplacer de nouvelles opérations. Le célèbre forum Jive utilise largement le modèle d'usine. Le modèle d'usine peut être vu partout dans le système de programme Java. Aujourd'hui, nous allons vous présenter le modèle de fabrique en PHP.
Tutoriels recommandés : Tutoriel vidéo PHP
1. modèle d'usine ?
Une classe instancie une classe via sa propre méthode statique et renvoie un objet instance
2. Quelles sont les caractéristiques du mode usine ?
Fonctionnalités de dénomination des classes : nameFactory, par exemple : class mysqlFactory{} [Ceci est à des fins de standardisation, bien sûr, tout autre nom peut être utilisé ]
Nom de la méthode statique : static public function factory ($class_name){} [La méthode statique est l'interface entre la classe et le monde extérieur et renvoie un objet]
3 . Avantages ?
Si la classe utilisée change en interne, vous n'avez pas besoin de la changer partout, il vous suffit de la changer dans la classe d'usine de classe. ,
Par exemple : pour vous connecter à la base de données, vous pouvez utiliser mysql, mysqli, pdo, et utiliser différentes classes d'opérations de base de données selon différentes configurations de paramètres
4. Scénarios d'application
Lors de la réalisation d'une interface de paiement, celle-ci pourra correspondre à différentes passerelles de paiement à l'avenir : Alipay, Tenpay, banque en ligne, etc.
Pour faciliter les expansions futures, il est conçu en mode usine. Définissez une usine spécialisée dans la production d'interfaces de passerelle, faites-la abstraction et transformez-la en une forme d'interface, afin que toutes les sous-classes doivent implémenter son interface. Si vous ajoutez ultérieurement un mode de paiement, quel mode de paiement vous souhaitez utiliser, modifiez simplement les paramètres.
Lors de l'enregistrement d'un utilisateur, les utilisateurs sont divisés en plusieurs rôles. Tels que les utilisateurs enregistrés, les utilisateurs anonymes, les utilisateurs administrateurs, etc. Il peut être entièrement implémenté en utilisant l'idée d'usine, le code est également facile à maintenir et des classes d'opération peuvent être générées pour chaque rôle, etc.
Le système se connecte à plusieurs types de bases de données, mysql, oracle, sqlserver
5. Exemples de code ; interface mysql{
public function connect();
}
class mysqli2 implements mysql{
public function connect(){
echo 'mysqli';
}
}
class pdo2 implements mysql{
public function connect(){
echo 'pdo';
}
}
class mysqlFactory{
static public function factory($class_name){
return new $class_name();
}
}
$obj = mysqlFactory::factory('pdo2');
$obj->connect();
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!