{ function encode() { return "Данные закодированы в формате BloggsCal \n"; } } abstract class CommsManager { abstract function getHeaderText(); abstract function getApptEncoder(); abstract function getFooterText(); } class BloggsCommsManager extends CommsManager { function getHeaderText() { return "BloggsCal верхний колонтитул\n"; } function getApptEncoder() { return new BloggsApptEncoder(); } function getFooterText() { return "BloggsCal нижний колонтитул\n"; } } $Bloggs = new BloggsCommsManager(); print $Bloggs->getHeaderText(); print $Bloggs->getApptEncoder()->encode(); print $Bloggs->getFooterText();
{ function encode() { return "Данные о встрече закодированы в формате BloggsCal \n"; } } abstract class CommsManager { abstract function getHeaderText(); abstract function getApptEncoder(); abstract function getFooterText(); } class BloggsCommsManager extends CommsManager { function getHeaderText() { return "BloggsCal верхний колонтитул \n"; } function getApptEncoder() { return new BloggsApptEncoder(); } function getFooterText() { return "BloggsCal нижний колонтитул\n"; } } $s = new BloggsCommsManager(); //echo $s->getApptEncoder() echo $s->getApptEncoder()->encode();
abstract function getApptEncoder(); abstract function getTtdEncoder(); abstract function getContactEncoder(); abstract function getFooterText(); } class BloggsCommsManager extends CommsManager { function getHeaderText() { return "BloggsCal header\n"; } function getApptEncoder() { return new BloggsApptEncoder(); } function getTtdEncoder() { return new BloggsTtdEncoder(); } function getContactEncoder() { return new BloggsContactEncoder(); } function getFooterText() { return "BloggsCal footer\n"; } } $comms = new BloggsCommsManager(); $apptEncoder = $comms->getApptEncoder(); print $apptEncoder->encode();