cortezvini97/orion
Orion is a Laravel package that speeds up building REST APIs by providing ready-to-use controllers, filtering, sorting, searching, pagination, relations and authorization hooks, so you can expose Eloquent models quickly with less boilerplate.
Installation
composer require cortezvini97/orion
Publish the config (if available) with:
php artisan vendor:publish --provider="OrionServiceProvider"
Basic Usage
Orion facade or service container binding.use Orion\Facades\Orion;
Orion::log('Test message');
First Use Case
README.md for a simple example (e.g., triggering an event, processing a payload, or extending a base class).Event-Driven Logic
EventServiceProvider:
protected $listen = [
'Orion\Events\ExampleEvent' => [
'App\Listeners\HandleExampleEvent',
],
];
event(new \Orion\Events\ExampleEvent($data));
Service Integration
public function __construct(private Orion $orion) {}
public function exampleMethod() {
$result = $this->orion->process($data);
}
Configuration Overrides
config/orion.php (if published):
'default_setting' => env('ORION_SETTING', 'default_value'),
API/External Calls
$response = Orion::api()->fetch('endpoint', ['param' => 'value']);
$this->mock(Orion::class)->shouldReceive('process')->andReturn($mockData);
No Documentation
php artisan ide-helper:generate)./tests/.Undefined Config
config(['orion.api_key' => env('ORION_API_KEY')]);
Dependency Conflicts
composer.json for required packages (e.g., Guzzle, Laravel 9+). Resolve conflicts with:
composer why-not cortezvini97/orion
No Service Provider
AppServiceProvider:
$this->app->singleton(Orion::class, function ($app) {
return new \Orion\Orion($app['config']);
});
\Log::debug('Orion payload:', ['data' => $orion->getData()]);
dd(\Orion\Facades\Orion::getInstance());
try {
$result = Orion::process($data);
} catch (\Orion\Exceptions\OrionException $e) {
report($e);
return back()->withError($e->getMessage());
}
Custom Classes
class CustomOrion extends \Orion\Orion {
public function customMethod() { ... }
}
AppServiceProvider.Service Provider Overrides
$this->app->extend('orion', function ($app, $orion) {
return new CustomOrion($orion);
});
Event Listeners
Event::listen('Orion\Events\*', function ($event) {
// Global handler
});
Facade Aliases
config/app.php:
'aliases' => [
'Orion' => \Orion\Facades\Orion::class,
],
How can I help you explore Laravel packages today?