$ git clone https://github.com/raizdev/orion.git ./
$ cp .env_example .env
$ composer install
$ chmod -R 775 {dir name}
# Database Credentials
DB_HOST=db
DB_PORT=db
DB_NAME="orion"
DB_USER="orion"
DB_PASSWORD="your_password"
# Api Mode | development / production
API_DEBUG="production"
# Name of the Application and
WEB_NAME="Orion"
WEB_FRONTEND_LINK="*"
# 1 = Enabled, 0 = Disabled
CACHE_ENABLED=1
# "Files" for Filecache, "Predis" for Redis
CACHE_TYPE="Files"
# Defines the cache alive time in seconds
CACHE_TTL=950
# Redis if Cache is enabled and type is Predis
CACHE_REDIS_HOST=127.0.0.1
# Redis Port, standard Port is 6379
CACHE_REDIS_PORT=6379
# Only works with Redis // Enables Throttling // Enables that people only can call the endpoint certain times in a short period
THROTTLE_ENABLED=0
TOKEN_ISSUER="Orion-Issuer"
TOKEN_DURATION=86400
# The secret must be at least 12 characters in length; contain numbers; upper and lowercase letters; and one of the following special characters *&!@%^#$
TOKEN_SECRET="Secret123!456$"
$ ---------
$ vendor/bin/phinx migrate
In the controller class you can define functions that are called by calling a route, which can be defined in the app/routes/routes.php. Auth protected routes can be used with setting middleware 'AuthMiddleware', between route path and route action call.
<?php
namespace Orion\CustomModule\Controller;
use Orion\Framework\Controller\BaseController;
use Psr\Http\Message\ResponseInterface as Response;
use Psr\Http\Message\ServerRequestInterface as Request;
/**
* Class Controller
*
* @package Orion\CustomModule\Controller
*/
class Controller extends BaseController
{
/**
* Reveals a custom response to the user
*
* @param Request $request The current incoming Request
* @param Response $response The current Response
*
* @return Response Returns a Response with the given Data
*/
public function customResponse(Request $request, Response $response): Response
{
/** @var string $customResponse */
$customResponse = 'your custom response';
return $this->respond(
$response,
response()
->setData($customResponse)
);
}
}
<?php
namespace Orion\CustomModule\Provider;
use Orion\CustomModule\Model\Custom;
use League\Container\ServiceProvider\AbstractServiceProvider;
/**
* Class CustomServiceProvider
*
* @package Orion\CustomModule\Provider
*/
class CustomServiceProvider extends AbstractServiceProvider
{
/**
* @var string[]
*/
protected $provides = [
Custom::class
];
/**
* Registers new service.
*/
public function register()
{
$container = $this->getContainer();
$container->add(Custom::class, function () {
return new Custom();
});
}
}
// Adds our CustomProvider to add Customs
$container->addServiceProvider(
new \Orion\CustomModule\Provider\CustomServiceProvider()
);
If you got questions or feedback feel free to contact us.
- Discord: Raizer#0001
The MIT License (MIT).