cari
Rumahphp教程php手册php工厂模式简单使用说明

本文章来给大家介绍php入门教程之工厂模式哦,工厂模式概念:实例化对象,用工厂方法替代new操作,有需要了解学习的朋友可参考.

工厂模式实例代码:

<?php
//首先定义什么是人类  
interface Human { 
   //人是愉快的,会笑的  
   public function laugh();  
   //人类还会哭,代表痛苦  
   public function cry(); 
   //人类会说话  
   public function talk();  
} 
//然后定义具体的人种 
class YellowHuman implements Human {//黄色人种,这个翻译的不准确,将就点吧  
   function cry() { var_dump( "黄色人种会哭");} 
   function laugh() {var_dump( "黄色人种会大笑,幸福呀!");} 
   function talk() {var_dump( "黄色人种会说话,一般说的都是双字节"); } 
} 
class WhiteHuman implements Human { //白色人种 
   public function cry() {var_dump("白色人种会哭");}  
   public function laugh() {var_dump("白色人种会大笑,侵略的笑声"); }  
   public function talk() {var_dump("白色人种会说话,一般都是但是单字节!"); }  
} 
class BlackHuman implements Human { //黑色人种 
   public function cry() {var_dump("黑色人种会哭");}  
   public function laugh() {var_dump("黑色人种会大笑,侵略的笑声"); }  
   public function talk() {var_dump("黑色人种会说话,一般都是但是单字节!"); }  
} 
//人种也定义完毕了,那我们把八卦炉定义出来: 
class HumanFactory { 
   //定一个烤箱,泥巴塞进去,人就出来,这个太先进了  
   public static function createHuman( $c ){  
       if ($c instanceof Human ) {//判断是否继承自Human 
           return $c;  
       }else { 
           var_dump("必须跟HuMan有一腿");  
       } 
   }  
} 

var_dump("------------造出的第一批人是这样的:白人-----------------");  
$whiteHuman = HumanFactory::createHuman( new WhiteHuman());  
$whiteHuman->cry();  
$whiteHuman->laugh();  
$whiteHuman->talk();  
     
//女娲第二次造人,火候加足点,然后又出了个次品,黑人  
var_dump("nn------------造出的第二批人是这样的:黑人-----------------");  
$blackHuman = HumanFactory::createHuman(new BlackHuman());  
$blackHuman->cry();  
$blackHuman->laugh();  
$blackHuman->talk();  
     
//第三批人了,这次火候掌握的正好,黄色人种(不写黄人,免得引起歧义),备注:RB人不属于此列  
var_dump("nn------------造出的第三批人是这样的:黄色人种-----------------");  
$yellowHuman = HumanFactory::createHuman(new YellowHuman());  
$yellowHuman->cry();  
$yellowHuman->laugh();  
$yellowHuman->talk(); 
?>

相关文章:

PHP工厂模式的三种形式的示例代码详解

浅析php工厂模式

解析PHP工厂模式的好处

Kenyataan
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

VSCode Windows 64-bit Muat Turun

VSCode Windows 64-bit Muat Turun

Editor IDE percuma dan berkuasa yang dilancarkan oleh Microsoft

MinGW - GNU Minimalis untuk Windows

MinGW - GNU Minimalis untuk Windows

Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.

mPDF

mPDF

mPDF ialah perpustakaan PHP yang boleh menjana fail PDF daripada HTML yang dikodkan UTF-8. Pengarang asal, Ian Back, menulis mPDF untuk mengeluarkan fail PDF "dengan cepat" dari tapak webnya dan mengendalikan bahasa yang berbeza. Ia lebih perlahan dan menghasilkan fail yang lebih besar apabila menggunakan fon Unicode daripada skrip asal seperti HTML2FPDF, tetapi menyokong gaya CSS dsb. dan mempunyai banyak peningkatan. Menyokong hampir semua bahasa, termasuk RTL (Arab dan Ibrani) dan CJK (Cina, Jepun dan Korea). Menyokong elemen peringkat blok bersarang (seperti P, DIV),

PhpStorm versi Mac

PhpStorm versi Mac

Alat pembangunan bersepadu PHP profesional terkini (2018.2.1).

SublimeText3 versi Inggeris

SublimeText3 versi Inggeris

Disyorkan: Versi Win, menyokong gesaan kod!