framework/src/Extend/SerializeAttributes.php
Franz Liedke 7b45ca3a78 Typehint container contract instead of application class.
This helps us in decoupling from Laravel, as we only need any
implementation of the container contract now.
2015-06-03 03:05:10 +02:00

26 lines
710 B
PHP

<?php namespace Flarum\Extend;
use Illuminate\Contracts\Container\Container;
class SerializeAttributes implements ExtenderInterface
{
protected $serializer;
protected $callback;
public function __construct($serializer, $callback)
{
$this->serializer = $serializer;
$this->callback = $callback;
}
public function extend(Container $container)
{
$container->make('events')->listen('Flarum\Api\Events\SerializeAttributes', function ($event) {
if ($event->serializer instanceof $this->serializer) {
call_user_func_array($this->callback, [&$event->attributes, $event->model, $event->serializer]);
}
});
}
}