function __construct() { $caption = "Modigliani painted enlongated faces."; $mo = new ConcreteClass(); $mo->templateMethod("modig.png", $caption); }
public static function main() { $cls = new ConcreteClass(); $cls->templateMethod(); }
function __construct() { $caption = "Modigliani malował podłużne twarze"; $mo = new ConcreteClass(); $mo->templateMethod("https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Amedeo_Modigliani_053.jpg/220px-Amedeo_Modigliani_053.jpg", $caption); }
<?php abstract class AbstractClass { // 抽象模板角色 public function templateMethod() { // 模板方法 调用基本方法组装顶层逻辑 $this->primitiveOperation1(); $this->primitiveOperation2(); } protected abstract function primitiveOperation1(); // 基本方法 protected abstract function primitiveOperation2(); } class ConcreteClass extends AbstractClass { // 具体模板角色 protected function primitiveOperation1() { } protected function primitiveOperation2() { } } $class = new ConcreteClass(); $class->templateMethod();