- preg_match: documentation ( source)
- printf: documentation ( source)
<?php
class Animal
{
public function __call($name, $args)
{
if (preg_match('/^is([A-Z].+)/', $name, $matches)) {
return $matches[1] === get_called_class();
}
}
}
class Cat extends Animal
{
}
class Dog extends Animal
{
}
$brian = new Dog();
printf("Brian %s a dog.\n", $brian->isDog() ? "is" : "is not" );
printf("Brian %s a cat.\n", $brian->isCat() ? "is" : "is not" );