PHP 中可以使用多种面向对象的设计模式,其中比较常用的有工厂模式、单例模式、观察者模式等等。
以下是一个使用工厂模式的示例代码:
<?php
interface Vehicle {
public function drive();
}
class Car implements Vehicle {
public function drive() {
echo "Driving a car...
";
}
}
class Truck implements Vehicle {
public function drive() {
echo "Driving a truck...
";
}
}
class VehicleFactory {
public function create($type) {
switch ($type) {
case "car":
return new Car();
case "truck":
return new Truck();
default:
throw new Exception("Invalid vehicle type.");
}
}
}
$factory = new VehicleFactory();
$car = $factory->create("car");
$car->drive(); // Driving a car...
$truck = $factory->create("truck");
$truck->drive(); // Driving a truck...
?>
以上代码中,定义了一个 Vehicle
接口和两个实现了该接口的类 Car
和 Truck
,然后定义了一个工厂类 VehicleFactory
,该类的 create
方法根据传入的参数返回不同的车辆实例。最后通过工厂类创建了一个 Car
和一个 Truck
实例,并调用了它们的 drive
方法。
这个示例演示了工厂模式的使用,通过该模式可以让代码更加灵活、可扩展和易于维护。