orchestra / resources
[DEPRECATED] Resources Component for Orchestra Platform
Installs: 20 097
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 2
Forks: 0
Open Issues: 0
Requires
- php: >=5.5.0
- orchestra/routing: ~3.2
- orchestra/support-facades: ~3.2
Requires (Dev)
- illuminate/events: ~5.2
- illuminate/http: ~5.2
- mockery/mockery: ^0.9.1
- orchestra/facile: ~3.2
Suggests
- laravel/framework: Allow using orchestra/resources component outside of Orchestra Platform (~5.2).
- orchestra/foundation: Allow using orchestra/resources with Orchestra Platform (~3.2).
README
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.
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 | 3.2.x |
Installation
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"
Configuration
Add Orchestra\Resources\ResourcesServiceProvider
service provider in config/app.php
.
'providers' => [ // ... Orchestra\Resources\ResourcesServiceProvider::class, ],
Aliases
You might want to add Orchestra\Support\Facades\Resources
to class aliases in config/app.php
:
'aliases' => [ // ... 'Resources' => Orchestra\Resources\Facade::class, ],
Usage
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.