Resources Component for Orchestra Platform

Installs: 19 401

Dependents: 1

Stars: 1

Watchers: 2

Forks: 1

Language: PHP

v3.1.1 2015-06-18 12:07 UTC


Join the chat at https://gitter.im/orchestral/platform/components

Resources Component is an optional adhoc routing manager that allow extension developer to add CRUD interface without touching Orchestra Platform 2. The idea is to allow controllers to be map to specific URL in Orchestra Platform Administrator Interface.

Latest Stable Version Total Downloads MIT License Build Status Coverage Status Scrutinizer Quality Score

Table of Content

Version Compatibility

Laravel Resources
4.0.x 2.0.x
4.1.x 2.1.x
4.2.x 2.2.x
5.0.x 3.0.x
5.1.x 3.1.x
5.2.x 3.2.x@dev


To install through composer, simply put the following in your composer.json file:

    "require": {
        "orchestra/resources": "~3.0"

And then run composer install from the terminal.

Quick Installation

Above installation can also be simplify by using the following command:

composer require "orchestra/resources=~3.0"


Add Orchestra\Resources\ResourcesServiceProvider service provider in config/app.php.

'providers' => [

    // ...



You might want to add Orchestra\Support\Facades\Resources to class aliases in config/app.php:

'aliases' => [

    // ...

    'Resources' => Orchestra\Support\Facades\Resources::class,


Adding a Resource

Normally we would identify an extension to a resource for ease of use, however Orchestra Platform still allow a single extension to register multiple resources if such requirement is needed.

use Orchestra\Support\Facades\Foundation;

Event::listen('orchestra.started: admin', function () {
    $robots = Resources::make('robotix', [
        'name'    => 'Robots.txt',
        'uses'    => 'Robotix\ApiController',
        'visible' => function () {
            return (Foundation::acl()->can('manage orchestra'));
Name Usage
name A name or title to refer to the resource.
uses a path to controller, you can prefix with either restful: (default) or resource: to indicate how Orchestra Platform should handle the controller.
visible Choose whether to include the resource to Orchestra Platform Administrator Interface menu.

Orchestra Platform Administrator Interface now would display a new tab next to Extension, and you can now navigate to available resources.

Adding a Child Resource

A single resource might require multiple actions (or controllers), we allow such feature to be used by assigning child resources.

$robots->route('pages', 'resource:Robotix\PagesController');

Nested resource controller is also supported:

$robots['pages.comments'] = 'resource:Robotix\Pages\CommentController';

Returning Response from a Resource

Controllers mapped as Orchestra Platform Resources is no different from any other controller except the layout is using Orchestra Platform Administrator Interface. You can use View, Response and Redirect normally as you would without Orchestra Platform integration.