00f100 / fcphp-command
此包最新版本(0.1.0)无可用许可证信息。
用于将控制台命令操作为FcPhp的库
0.1.0
2018-08-12 21:08 UTC
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-09-18 06:09:33 UTC
README
将终端命令操作为FcPhp的包
如何安装
Composer
$ composer require 00f100/fcphp-command
或在composer.json中添加
{ "require": { "00f100/fcphp-command": "*" } }
如何使用
此包使用FcPhp 安全控制台来操作权限,并使用FcPhp 缓存来保存命令缓存,以获得更好的性能
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(); } }