/** * Bind a paginator to a transformer and start building a response. * * @param \Illuminate\Contracts\Pagination\Paginator $paginator * @param object $transformer * @param array $parameters * @param \Closure $after * * @return \Dingo\Api\Http\Response */ public function paginator(Paginator $paginator, $transformer, array $parameters = [], Closure $after = null) { if ($paginator->isEmpty()) { $class = get_class($paginator); } else { $class = get_class($paginator->first()); } $binding = $this->transformer->register($class, $transformer, $parameters, $after); return new Response($paginator, 200, [], $binding); }
/** * Register a transformer binding resolver for a class. * * @param string $class * @param string|callable|object $resolver * @param array|\Closure $third * @param \Closure $fourth * @return \Dingo\Api\Transformer\Binding * @static */ public static function register($class, $resolver, $third = null, $fourth = null) { return \Dingo\Api\Transformer\Factory::register($class, $resolver, $third, $fourth); }