liberty_code / request_flow
Library
Requires
- php: ~7 || ~8
- liberty_code/library: ^1.0.
- liberty_code/parser: ^1.0.
- liberty_code/route: ^1.0.
Requires (Dev)
- liberty_code/di: ^1.0.
- liberty_code/register: ^1.0.
This package is auto-updated.
Last update: 2025-02-08 02:48:37 UTC
README
Description
Library contains request/response and request flow process components. Request flow uses front controller system, to provide response, from request.
Requirement
- Script language: PHP: version 7 || 8
Installation
Several ways are possible:
Composer
Requirement
It requires composer installation. For more information: https://getcomposer.org
Command: Move in project root path
cd "<project_root_path>"
Command: Installation
php composer.phar require liberty_code/request_flow ["<version>"]
Note
Include vendor
If project uses composer, vendor must be included:
require_once('<project_root_path>/vendor/autoload.php');
Configuration
Installation command allows to add, on composer file "
{ "require": { "liberty_code/request_flow": "<version>" } }
Include
Download
- Download following repository.
- Put it on repository root path.
Include source
require_once('<repository_root_path>/include/Include.php');
Configuration
Main configuration
Use following class to configure specific elements
use liberty_code\request_flow\config\model\DefaultConfig; DefaultConfig::instanceGetDefault()->get|set...();
Elements configurables
- Response options
Usage
Request
Request allows to design the request part, from the request flow process. Request allows to provide route source, used in request flow process, to get a response.
Elements
Request
Allows to design a basic request,
to get string route source.
Example
class HttpRequestTest extends liberty_code\request_flow\request\model\DefaultRequest
{
// Define rules to get route source
public function getStrRouteSrc()
{
// Get route source from GET "route" argument
return $_GET['route'];
}
}
$request = HttpRequestTest::instanceGetDefault();
echo($request->getStrRouteSrc()); // Show "<route>"
...
Response
Response allows to design the response part, from the request flow process. Response allows to provide final send-able content, from request flow process.
Elements
Response
Allows to design a basic response, where send action allows to print specified content. Can be used to design command line response.
Response utilities
Parsed content response allows to get response with specific formatted content. Example: JSON response, XML response, etc...
Example
use liberty_code\request_flow\response\model\DefaultResponse;
$objResponse = new DefaultResponse();
$objResponse->setContent(...);
...
Front controller
Front controller allows to design the request flow process. It uses router to get response, from specified request.
Elements
FrontController
Allows to design a basic front controller. Uses router and request route source as source, to find route executable and get response from it.
Example
liberty_code\request_flow\front\model\DefaultFrontController;
use liberty_code\request_flow\front\http\model\HttpFrontController;
$frontController = new DefaultFrontController();
$frontController->setRouter(...);
$frontController->setActiveRequest(...);
...
// Show response object
var_dump($frontController->execute());
...