Maison  >  Article  >  développement back-end  >  Méthode d'implémentation simple du modèle d'usine PHP

Méthode d'implémentation simple du modèle d'usine PHP

不言
不言original
2018-06-01 10:54:541544parcourir

Cet article présente principalement la méthode d'implémentation simple du mode usine PHP, explique brièvement le concept et le principe du mode usine et analyse les compétences opérationnelles pertinentes du mode usine PHP sous forme d'exemples. Les amis dans le besoin peuvent s'y référer<.>

L'exemple de cet article décrit la méthode d'implémentation simple du modèle de fabrique PHP. Partagez-le avec tout le monde pour référence, comme suit :

Le modèle d'usine est une classe qui établit une usine pour créer des objets selon les besoins. Cette méthode est très importante dans la programmation polymorphe et permet de remplacer des classes dynamiques, de modifier des configurations. etc.

L'exemple de code php est le suivant :

//-----------------------------工厂模式-------------------------//
class A{
 public $class;  // public $class = $_GET[&#39;c&#39;]; //类名
 public $method; // public $method = $_GET[&#39;m&#39;]; //方法
 public function __construct($class,$method){
  $this->class = ucfirst(strtolower($class)); //对类名进行安全处理
  $this->method = strtolower($method);  //对方法名进行安全处理
  $this->work($this->class,$this->method);
 }
 public function work($class,$method){
  // 把文件命名成 (类名.class.php的形式),就可以通过类名找到文件。
  //include &#39;文件名(文件在别的地方)&#39;;  #例如 include &#39;./index.php&#39;; 引入文件然后实例化类。
  $c = new $class; //实例化类
  $c->$method(); //访问类的方法
 }
}
class B{
 public function ba(){
  echo &#39;实例化后的ba方法<br>&#39;;
 }
 public function bb(){
  echo &#39;实例化后的bb方法<br>&#39;;
 }
}
class C{
 public function ca(){
  echo &#39;实例化后的ca方法<br>&#39;;
 }
 public function cb(){
  echo &#39;实例化后的cb方法<br>&#39;;
 }
}
//工厂模式的实现
$a = new A(&#39;b&#39;,&#39;ba&#39;);  // 通过类访问方法
$a = new A(&#39;C&#39;,&#39;ca&#39;);  // 通过类访问方法

Résultats en cours d'exécution :

实例化后的ba方法
实例化后的ca方法

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!

Déclaration:
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