1. Go to this page and download the library: Download azaan/laravel-scene library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
azaan / laravel-scene example snippets
class PersonTransformer extends SceneTransformer {
/**
* Eloquent relations to preload
*
* Note: It will only get preloaded if it already isnt.
*/
protected function getPreloadRelations()
{
return [
// preload nested relations of posts defined in PostTransformer
'posts' => SceneTransformer::PRELOAD_RELATED,
// load addresses if $this->showMin is truthy
'address' => $this->showMin,
// preload createdBy relation
'createdBy',
];
}
/**
* Structure transformations.
*
* @return array structure
*/
protected function getStructure()
{
return [
'id',
'name',
'email',
'fullname',
'actions',
'address' => [
'name',
'street',
],
'status' => new ArrayMapTransform([
'active' => 'Active',
'blocked' => 'Blocked',
'temp-disabled' => 'Temporarily Disabled',
]),
'posts' => PostTransformer::createMinTransformer(),
// return the field 'joined_date' as 'date',
'date' => 'joined_date',
'created_at' => new DateFormatTransform('Y-m-d'),
];
}
/**
* Structure to use when returning multiple objects
*
* @return array structure
*/
protected function getMinStructure()
{
return [
'id',
'name',
'email',
// add extra key only when some condition meets
'extra' => $this->when($this->someCondition, 'extra'),
];
}
protected function getFullname(Person $person)
{
return $person->first_name . ' ' . $person->last_name;
}
protected function getActions(Person $person)
{
// call service methods to figure out what actions the user can perform
return ['can_edit', 'can_update'];
}
}
public function all()
{
$people = $this->personService->getAllPeople();
$transformer = PersonTransformer::createMinTransformer();
return SceneResponse::respond($people, $transformer);
}
public function show($id)
{
$person = $this->personService->getPersonByIdOrFail($id);
$transformer = new PersonTransformer();
return SceneResponse::respond($person, $transformer);
}
class CompanyTransformer extends SceneTransformer {
/**
* Structure transformations.
*
* @return array structure
*/
protected function getStructure()
{
return [
'id',
'name',
'owner' => new PersonTransformer()
];
}
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.