<?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);
public function increseDisplay($count) { for ($i = 0; $i <= $count; $i++) { parent::multiDisplay($i); } }
$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);