function testFactoryMethod($factoryMethodInstance) { $phpUs = $factoryMethodInstance->makePHPBook("us"); echo 'us php Author: ' . $phpUs->getAuthor() . tagins("br"); echo 'us php Title: ' . $phpUs->getTitle() . tagins("br"); $phpUs = $factoryMethodInstance->makePHPBook("other"); echo 'other php Author: ' . $phpUs->getAuthor() . tagins("br"); echo 'other php Title: ' . $phpUs->getTitle() . tagins("br"); $phpUs = $factoryMethodInstance->makePHPBook("otherother"); echo 'otherother php Author: ' . $phpUs->getAuthor() . tagins("br"); echo 'otherother php Title: ' . $phpUs->getTitle() . tagins("br"); }
echo $book->getAuthorAndTitle(); echo tagins("br") . tagins("br"); $starsOn = new BookStarsOnCommand($book); callCommand($starsOn); echo "book after stars on: "; echo tagins("br"); echo $book->getAuthorAndTitle(); echo tagins("br") . tagins("br"); $starsOff = new BookStarsOffCommand($book); callCommand($starsOff); echo "book after stars off: "; echo tagins("br"); echo $book->getAuthorAndTitle(); echo tagins("br"); echo tagins("br"); echo "END TESTING COMMAND PATTERN"; echo tagins("br"); echo tagins("/body"); echo tagins("/html"); //the callCommand function demonstrates that a specified // function in BookCommandee can be executed with only // an instance of BookCommand. function callCommand(BookCommand $bookCommand_in) { $bookCommand_in->execute(); } //doing this so code can be displayed without breaks function tagins($stuffing) { return "<" . $stuffing . ">"; }
function testConcreteFactory($bookFactoryInstance) { $phpBookOne = $bookFactoryInstance->makePHPBook(); echo 'first php Author: ' . $phpBookOne->getAuthor() . tagins("br"); echo 'first php Title: ' . $phpBookOne->getTitle() . tagins("br"); $phpBookTwo = $bookFactoryInstance->makePHPBook(); echo 'second php Author: ' . $phpBookTwo->getAuthor() . tagins("br"); echo 'second php Title: ' . $phpBookTwo->getTitle() . tagins("br"); $mySqlBook = $bookFactoryInstance->makeMySQLBook(); echo 'MySQL Author: ' . $mySqlBook->getAuthor() . tagins("br"); echo 'MySQL Title: ' . $mySqlBook->getTitle() . tagins("br"); }