<?php
trait Dumper
{
public function dump(string $msg)
{
$className = __CLASS__;
echo date("Y-m-d h:i:s", time()).": [{$className}] {$msg}\n";
}
}
class Book
{
use Dumper;
public $title;
function __construct(string $title)
{
$this->title = $title;
$this->dump("Created '{$this->title}'");
}
public function getTitle()
{
return $this->title;
}
}
class Bookshelf
{
use Dumper;
public function add(Book $book)
{
$this->books[] = $book;
$this->dump("Added book '{$book->getTitle()}'");
}
}
$bookshelf = new Bookshelf();
$bookshelf->add(new Book('The Very Hungry Caterpillar'));