工厂模式是一种类,建立了一个工厂来根据所需来创建对象,这种方式在多态性编程中是很重要的,允许动态替换类,修改配置等。
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 '实例化后的ba方法
';
}
public function bb(){
echo '实例化后的bb方法
';
}
}
class C{
public function ca(){
echo '实例化后的ca方法
';
}
public function cb(){
echo '实例化后的cb方法
';
}
}
//工厂模式的实现
$a = new A('b','ba'); // 通过类访问方法
$a = new A('C','ca'); // 通过类访问方法
这篇博客介绍了PHP中的工厂模式,这是一种创建型设计模式,用于根据需求动态创建对象。文中给出了示例代码,展示了如何使用工厂模式来实例化类并调用其方法,强调了其在多态性编程中的重要性,允许类的动态替换和配置修改。示例中定义了类A作为工厂,它能根据传入的类名和方法名创建并执行相应类的方法,如B类的ba()和C类的ca()方法。
577

被折叠的 条评论
为什么被折叠?



