Inheritance: implements JsonSerializabl\JsonSerializable
 /**
  * Set the default serializer.
  *
  * @param \Spatie\Fractal\Fractal                              $fractal
  * @param string|\League\Fractal\Serializer\SerializerAbstract $serializer
  *
  * @return mixed
  */
 protected function setDefaultSerializer($fractal, $serializer)
 {
     if ($serializer instanceof SerializerAbstract) {
         return $fractal->serializeWith($serializer);
     }
     return $fractal->serializeWith(new $serializer());
 }
 /**
  * Register the application services.
  */
 public function register()
 {
     $this->mergeConfigFrom(__DIR__ . '/../resources/config/laravel-fractal.php', 'laravel-fractal');
     $this->app->bind(Fractal::class, function () {
         $manager = new Manager();
         $fractal = new Fractal($manager);
         $config = $this->app['config']->get('laravel-fractal');
         if ($config['default_serializer'] != '') {
             $fractal->serializeWith(new $config['default_serializer']());
         }
         return $fractal;
     });
     $this->app->alias(Fractal::class, 'laravel-fractal');
     include __DIR__ . '/helpers.php';
 }
 /**
  * @param \League\Fractal\Serializer\SerializerAbstract $serializer
  */
 protected function setSerializer(SerializerAbstract $serializer)
 {
     $this->fractal->serializeWith($serializer);
 }