classes/Resource.md

Resource

Overview:

Resource is the base class for API-exposed entities. Override expose() to control output.

Use Resource to define how model fields are exposed externally, including transformed output for list and detail representations.

Minimal example:

class Category extends Resource {}

Custom exposure:

class Article extends Resource {
  public function expose($fields, $mode) {
    return [
      "id"    => $fields->slug,
      "title" => $fields->title,
    ];
  }
}

Select exposure mode:

Resource::setExposure("list");

See also: