本文整理汇总了PHP中League\Fractal\Manager类的典型用法代码示例。如果您正苦于以下问题:PHP Manager类的具体用法?PHP Manager怎么用?PHP Manager使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Manager类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: show
/**
* @param $projectId
* @param Manager $fractal
* @param ProjectTransformer $projectTransformer
* @return \Illuminate\Http\JsonResponse
*/
public function show($projectId, Manager $fractal, ProjectTransformer $projectTransformer)
{
$project = $this->project->findOrFail($projectId);
$item = new Item($project, $projectTransformer);
$data = $fractal->createData($item)->toArray();
return $this->respond($data);
}
示例2: transform
/**
* @VP:
* I'm trying to pass a second parameter to my transformer but don't know how.
* @param $resource
*/
function transform($resource)
{
$manager = new Manager();
$manager->setSerializer(new DataArraySerializer());
$manager->parseIncludes(request()->get('includes', []));
return $manager->createData($resource)->toArray();
}
示例3: register
/**
* Register the service provider.
*
* @return void
*/
public function register()
{
if ($this->isLumen()) {
require_once 'fallback.php';
}
$this->registerRequiredProviders();
$this->app->bind('datatables.html', function () {
return $this->app->make(Html\Builder::class);
});
$this->app->singleton('datatables.fractal', function () {
$fractal = new Manager();
$config = $this->app['config'];
$request = $this->app['request'];
$includesKey = $config->get('datatables.fractal.includes', 'include');
if ($request->get($includesKey)) {
$fractal->parseIncludes($request->get($includesKey));
}
$serializer = $config->get('datatables.fractal.serializer', DataArraySerializer::class);
$fractal->setSerializer(new $serializer());
return $fractal;
});
$this->app->singleton('datatables', function () {
return new Datatables($this->app->make(Request::class));
});
$this->registerAliases();
}
示例4: includeContent
/**
* Include Content
*
* @param BaseElementModel $element Element
*
* @return League\Fractal\Resource\Item Content
*/
public function includeContent(BaseElementModel $element)
{
$content = [];
if ($this->depth > \Craft\craft()->config->get('contentRecursionLimit', 'httpMessagesRestMiddleware') - 1) {
return;
}
foreach ($element->getFieldLayout()->getFields() as $fieldLayoutField) {
$field = $fieldLayoutField->getField();
$value = $element->getFieldValue($field->handle);
if (get_class($field->getFieldType()) === 'Craft\\RichTextFieldType') {
$value = $value->getRawContent();
}
if (is_object($value) && get_class($value) === 'Craft\\ElementCriteriaModel') {
$class = get_class($value->getElementType());
$element_type = $this->element_service->getElementTypeByClass($class);
$manager = new Manager();
$manager->parseIncludes(array_merge(['content'], explode(',', \Craft\craft()->request->getParam('include'))));
$manager->setSerializer(new ArraySerializer());
$transformer = $this->config_service->getTransformer($element_type);
$value = $value->find();
$body = new Collection($value, new $transformer($this->depth + 1));
$value = $manager->createData($body)->toArray();
$value = !empty($value['data']) ? $value['data'] : null;
}
$content[$field->handle] = $value;
}
if ($content) {
return $this->item($content, new ContentTransformer($this->depth), 'content');
}
}
示例5: byLoan
public function byLoan($id, Manager $fractal, LoancropTransformer $loancropTransformer)
{
$loancrops = Loancrop::where('loan_id', $id)->get();
$collection = new Collection($loancrops, $loancropTransformer);
$data = $fractal->createData($collection)->toArray();
return $this->respond($data);
}
示例6: response
public function response($data, $totalCount = false, $query = false, $statusCode = 200)
{
if ($this->transformer) {
$fractal = new Manager();
if ($totalCount === false) {
$resource = new Item($data, $this->transformer);
} else {
$resource = new Collection($data, $this->transformer);
}
$response = $fractal->createData($resource)->toArray();
} else {
$response = ['data' => $data];
}
if ($totalCount !== false) {
$response['totalCount'] = (int) $totalCount;
}
if ($query !== false) {
$response['search'] = $query;
}
$response = json_encode($response, JSON_UNESCAPED_UNICODE);
if ($response === false) {
InternalServerError500::throwException("Response couldn't encoded as JSON");
}
$this->app->response->status($statusCode);
$this->app->response->body($response);
}
示例7: __construct
public function __construct(Manager $fractal)
{
$this->fractal = $fractal;
if (Input::get('include')) {
$fractal->parseIncludes(Input::get('include'));
}
}
示例8: index
public function index(Request $request, Manager $fractal)
{
if ($requestedEmbeds = $request->get('include')) {
$fractal->parseIncludes($requestedEmbeds);
}
return $this->response->item($this->user, UserTransformer::class);
}
示例9: index
public function index(Manager $fractal, SupportTransformer $transformer, $customerID)
{
$ac = ArticleCategory::where('id', '>=', 64)->take(10)->get();
$resource = new Collection($ac, $transformer);
$data = $fractal->createData($resource)->toArray();
return $this->respondWithSuccess($data);
}
示例10: listing
public static function listing()
{
$fractal = new Manager();
$data = new Collection(parent::all(), new GenreTransformer());
$list = $fractal->createData($data)->toArray()['data'];
return $list;
}
示例11: responseWithTransformer
/**
* @param $resource
* @return mixed
*/
public function responseWithTransformer($resource, $code)
{
$manager = new Manager();
$manager->setSerializer(new DataArraySerializer());
$manager->parseIncludes(request()->get('includes', []));
return response()->json($manager->createData($resource)->toArray(), $code);
}
示例12: serialize
/**
* Serializes the original content
*
* @param Fractal\ResourceAbstract $resource
* @return $this
*/
protected function serialize($resource)
{
$manager = new Fractal\Manager();
$data = $manager->createData($resource)->toArray()['data'];
$serialized = json_encode($data);
return parent::setContent($serialized);
}
示例13: respondWithCollection
public function respondWithCollection($collection, $callback)
{
$fractal = new Manager();
$resource = new Collection($collection, $callback);
$rootScope = $fractal->createData($resource);
return $rootScope->toArray()['data'];
}
示例14: __construct
/**
* @param Manager $fractal
*/
public function __construct(Manager $fractal)
{
$this->fractal = $fractal;
if (isset($_GET['include'])) {
$fractal->parseIncludes($_GET['include']);
}
}
示例15: lessons
/**
* Returns only the lessons from the
* current feed from Laracasts in JSON.
*/
public function lessons()
{
$lessons = $this->lissandra->getLessons();
$resource = new Collection($lessons, new LessonTransformer($lessons));
$data = $this->fractal->createData($resource)->toArray()['data'];
return $this->respondWithCORS($data);
}