for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace App\Services\Medialibrary;
use Spatie\Color\Rgb;
use ColorThief\ColorThief;
use Illuminate\Contracts\Events\Dispatcher;
use Spatie\MediaLibrary\Events\MediaHasBeenAdded;
class MediaLibraryEventHandler
{
public function subscribe(Dispatcher $events)
$events->listen(
MediaHasBeenAdded::class,
[$this, 'whenMediaHasBeenAdded']
);
}
public function whenMediaHasBeenAdded(MediaHasBeenAdded $event)
$media = $event->media;
$dominantColor = ColorThief::getColor($media->getPath());
$hexColor = (new Rgb(...$dominantColor))->toHex();
Rgb::__construct()
$green
$dominantColor
array|boolean
integer
It seems like the type of the argument is not accepted by the function/method which you are calling.
In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug.
We suggest to add an explicit type cast like in the following example:
function acceptsInteger($int) { } $x = '123'; // string "123" // Instead of acceptsInteger($x); // we recommend to use acceptsInteger((integer) $x);
$media->setCustomProperty('dominantColor', $hexColor);
$media->save();