00f100 / fcphp-command
Library to manipulate console commands into FcPhp
Installs: 47
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 1
Forks: 1
Open Issues: 0
Type:package
Requires
- php: >=7.2
- 00f100/fcphp-autoload: 0.*
- 00f100/fcphp-cache: 0.*
- 00f100/fcphp-di: 0.*
- 00f100/fcphp-sconsole: 0.*
Requires (Dev)
- 00f100/phpdbug: *
- phpunit/phpunit: 6.*
This package is auto-updated.
Last update: 2024-11-18 06:26:32 UTC
README
Package to manupulate commands of terminal into FcPhp
How to install
Composer:
$ composer require 00f100/fcphp-command
or add in composer.json
{ "require": { "00f100/fcphp-command": "*" } }
How to use
This package use FcPhp Security Console to manipulate permissions and FcPhp Cache to save commands cache for better performance
use FcPhp\SConsole\SCEntity; use FcPhp\Command\Interfaces\ICEntity; use FcPhp\Command\Facades\CommandFacade; // Instance of SCEntity provider from FcPhp Security Console // or ... $entity = new SCEntity(); // Custom commands... $commands = []; // Composer dir to autoload find "commands.php" into packages and cache into FcPhp Cache $vendorPathAutoload = 'vendor/*/*/config'; $instance = CommandFacade::getInstance($entity, $commands, $vendorPathAutoload); // Args from console request // Example: php index.php package datasource connect -h localhost -u user -p password $args = [ 'package', 'datasource', 'connect', '-h', 'localhost', '-u', 'user', '-p', 'password' ]; // Return instance FcPhp\Command\Interfaces\ICEntity $match = $this->instance->match($args); if($match instanceof ICEntity) { // Print status code echo $match->getStatusCode(); // Print action echo $match->getAction(); // ... }
FcPhp\Command\Interfaces\ICEntity
<?php namespace FcPhp\Command\Interfaces { interface ICEntity { /** * Method to contruct instance * * @param array $params Params to entity * @return void */ public function __construct(array $params = []); /** * Method to get command * * @return string|null */ public function getCommand(); /** * Method to get action * * @return string|null */ public function getAction(); /** * Method to get rule * * @return string|null */ public function getRule(); /** * Method to get params to controller * * @return array */ public function getParams() :array; /** * Method to get status code * * @return int */ public function getStatusCode() :int; /** * Method to get status message * * @return string|null */ public function getStatusMessage(); } }