コード例 #1
0
ファイル: Client.php プロジェクト: CcrisS/PHP-Patterns
 function __construct()
 {
     $caption = "Modigliani painted enlongated faces.";
     $mo = new ConcreteClass();
     $mo->templateMethod("modig.png", $caption);
 }
コード例 #2
0
ファイル: test.php プロジェクト: luisOO/design-patterns
 public static function main()
 {
     $cls = new ConcreteClass();
     $cls->templateMethod();
 }
コード例 #3
0
ファイル: Client.php プロジェクト: bswiatek/wzorce
 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);
 }
コード例 #4
0
<?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();