Esempio n. 1
0
<?php

namespace Bridge;

require_once __DIR__ . '/../autoload.php';
$d1 = new Display(new StringDisplayImpl('Hello, Japan'));
$d2 = new CountDisplay(new StringDisplayImpl('Hello, World'));
$d1->display();
$d2->display();
$d2->multiDisplay(3);
Esempio n. 2
0
 public function increseDisplay($count)
 {
     for ($i = 0; $i <= $count; $i++) {
         parent::multiDisplay($i);
     }
 }
Esempio n. 3
0
        $this->string = $string;
        $this->strWidth = strlen($string);
        //全角文字の場合、1文字2byteでカウントしたいので、strlenを使う。
    }
    public function rawOpen()
    {
        $this->printHeaderAndFooter();
    }
    public function rawPrintStr()
    {
        echo '|' . $this->string . '|' . PHP_EOL;
    }
    public function rawClose()
    {
        $this->printHeaderAndFooter();
    }
    private function printHeaderAndFooter()
    {
        echo '+';
        for ($i = 0; $i < $this->strWidth; $i++) {
            echo '-';
        }
        echo '+';
        echo PHP_EOL;
    }
}
//テストルーチン
$stringDisplayImpl = new StringDisplayImpl('hoge');
$countDisplay = new CountDisplay($stringDisplayImpl);
$countDisplay->display();
$countDisplay->multiDisplay(3);