Rumah > pembangunan bahagian belakang > tutorial php > PHP工厂模式简单实现方法示例

PHP工厂模式简单实现方法示例

jacklove
Lepaskan: 2023-04-01 18:04:01
asal
1646 orang telah melayarinya

这篇文章主要介绍了PHP工厂模式简单实现方法,简单说明了工厂模式的概念、原理并结合实例形式分析了php实现工厂模式的相关操作技巧,需要的朋友可以参考下

本文实例讲述了PHP工厂模式简单实现方法。分享给大家供大家参考,具体如下:

工厂模式是一种类,建立了一个工厂来根据所需来创建对象,这种方式在多态性编程中是很重要的,允许动态替换类,修改配置等。

php示例代码如下:

//-----------------------------工厂模式-------------------------//
class A{
 public $class;  // public $class = $_GET['c']; //类名
 public $method; // public $method = $_GET['m']; //方法
 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 '文件名(文件在别的地方)';  #例如 include './index.php'; 引入文件然后实例化类。
  $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;);  // 通过类访问方法
Salin selepas log masuk

运行结果:

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

您可能感兴趣的文章:

PHP自定义函数实现assign()数组分配到模板及extract()变量分配到模板功能示例

PHP仿tp实现mvc框架基本设计思路与实现方法分析

yii2安装详细流程_php实例

Atas ialah kandungan terperinci PHP工厂模式简单实现方法示例. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan