Heim > Backend-Entwicklung > PHP-Tutorial > Analyse der Vorteile der Verwendung des PHP-Factory-Musters

Analyse der Vorteile der Verwendung des PHP-Factory-Musters

黄舟
Freigeben: 2023-03-17 12:22:01
Original
1611 Leute haben es durchsucht

Wir haben Ihnen bereits drei Arten von PHPFactory-Modus vorgestellt und erklärt, was der PHP-Factory-Modus ist und warum wir den PHP-Factory-Modus verwenden sollten. Deshalb geben wir Ihnen heute eine detaillierte Einführung in PHP Fabrik. Vorteile der Verwendung von Mustern!

Wenn wir eine Klasse instanziieren, geben wir ihr im Allgemeinen einige Parameter, damit wir beim Erstellen der Klasse die benötigten Ergebnisse basierend auf verschiedenen Parametern zurückmelden können.
Das Folgende ist beispielsweise eine Benutzerklasse, die sehr einfach ist:

Der Code lautet wie folgt:

<?php
interface IUser{
   function getName();
   function getAge();
}
class User implements IUser{
   protected $_name;
   protected $_age;
   function construct($name, $age){
      $this->_name = $name;
      $this->_age = (int)$age;
   }
   function getName(){
      return $this->_name;
   }
  function getAge(){
      return $this->_age;
   }
}
?>
Nach dem Login kopieren

Wenn wir diese Klasse instanziieren möchten, müssen Sie Folgendes tun:
$u = new User('Xiao Ming',19);
Im Allgemeinen Wenn diese Klasse selten verwendet wird, hat sie keine großen Auswirkungen und ist sehr gut.
Plötzlich möchte ich dieser Klasse eine Klassifizierung hinzufügen und Xiao Ming in die Schülergruppe einfügen. Es ist sehr einfach, den Code der nächsten Klasse zu ändern, aber wenn diese Klasse viele Male in vielen Dateien instanziiert wird, bevor wir wollen Ändern Sie es, dann wird es sehr umständlich, einen Parameter hinzuzufügen, da er durch Folgendes ersetzt werden muss:
$u = new User('Xiaoming',19,'student');
Natürlich können wir diese Doppelarbeit auch vermeiden, indem wir Standardwerte in der Konstrukt-Funktion festlegen , aber aus Sicht der Code-Eleganz ist dies tatsächlich nicht gut Wir haben eine Factory-Methode, die dies kann. Durch die Verwendung eines Bezeichners, der einem Parametersatz entspricht, und das Speichern der Parameter in einem Textdokument oder direkt in der Factory-Klasse in Form eines Arrays wird es einfacher Wenn wir die Benutzerklasse aufrufen, müssen Sie den Code nicht überall ersetzen, auch wenn Sie die Parameter erhöhen oder verringern müssen (Sie können die Methode auch speichern). direkt in der User-Klasse)

Code Wie folgt:

interface IUser{
    function getName();
    function getAge();
}
class User implements IUser{
   protected $_group;
   protected $_name;
   protected $_age;
  function construct($name, $age, $group){
      $this->_group = $group;
      $this->_name = $name;
      $this->_age = (int)$age;
  }
  function getName(){
     return $this->_name;
  }
  function getAge(){
      return $this->_age;
  }
}
class Fuser{
   private static $group = array(
       array(‘小明‘,19,‘学生‘),
       array(‘小王‘,19,‘学生‘)
   );
   static function create($id){
      list($name, $age, $group) = self::$group[(int)$id];
      return new User($name, $age, $group);
   }
}
echo Fuser::create(0)->getName();
Nach dem Login kopieren
Das Ergebnis sollte „Xiao Ming“ sein.


Zusammenfassung:

Ich glaube, dass Freunde ein gewisses Verständnis für die Vorteile der Verwendung des PHP-Factory-Modus haben in die Praxis umsetzen!

Verwandte Empfehlungen:

Eine kurze Einführung in die drei PHP-Factory-Modi


Was ist ein PHP-Factory-Muster? Warum den PHP-Factory-Modus verwenden?


Detaillierte Erläuterung der drei Formen des Beispielcodes des PHP-Factory-Musters

Das obige ist der detaillierte Inhalt vonAnalyse der Vorteile der Verwendung des PHP-Factory-Musters. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage