3. Wojciech Sznapka
Technical Manager @ XSolve
Zend Certified Engineer since 2010
Symfony Framework since 2008
PHP since 2004
Web development since 2001
Besides: ice hockey, windsurfing, skiing, crime stories
26. <?php
abstract class Animal
{
public function makeHappySound()
{
return sprintf("Happilly %sn", $this->speak());
}
abstract public function speak();
}
class Dog extends Animal
{
function speak()
{
return "Woof, woof!";
}
}
class Cat extends Animal
{
function speak()
{
return "Meow...";
}
}
foreach (array(new Dog, new Cat) as $creature) {
printf($creature->makeHappySound());
}
31. <?php
interface PlaceholderProcessorInterface
{
public function process($object, $body);
}
interface TemplateManagerInterface
{
public function setAvailableTemplates(array $templates);
public function getAvailableTemplates();
public function applyTemplate($body, $title);
}
interface MediaManagerInterface
{
public function embed($body, Swift_Message $message);
public function getRegex($name);
}
interface BuilderInterface
{
public function buildMessage($mailingId, $contactId, $contactClass);
}
interface SenderInterface
{
public function send($mailingId, $contactId, $contactClass);
}