daspors / shellphp
PHP命令行工具
0.1
2018-01-04 18:05 UTC
This package is auto-updated.
Last update: 2024-09-29 05:49:29 UTC
README
ShellPHP可以帮助你将PHP的强大功能和便捷安装带到命令行。
它旨在为开发者提供一个工具箱,以便他们可以开发将在bash而不是WebServer环境中运行的PHP程序。
功能概述
- 命令行参数处理
- 进程管理
- 高级(基于Sqlite)数据存储
- Web界面(实验性)
\ShellPHP\CmdLine
命令行处理器使定义标志、选项和参数变得简单,甚至提供了创建将应用程序分割成逻辑部分(如apt-get和其他许多工具)的命令的能力。
$cli = \ShellPHP\CmdLine\CmdLine::Make("ShellPHP Test Script","Version 0.0.0.2") ->command('list') ->opt('-f','none')->map('filter') ->arrayArg('folder') ->handler(function($args) { extract($args); var_dump($args); var_dump(get_defined_vars()); echo "\n --> $filter $folder\n\n"; }) ->end() ->command('add') ->opt('-p')->map('path')->text('Local folder to add') ->handler(function($args) { extract($args); echo "Add --> $path\n\n"; }) ->end(); $cli->command('remove')->opt('-f'); $cli->go();
\ShellPHP\Process
这是一个有助于列举、查找和运行进程的类。
\ShellPHP\Storage
真正强大且易于使用的存储。每个应用程序都需要在某个时候存储一些数据。
存储类提供了一个高级接口,因此大多数情况下,你不需要执行任何SQL查询。
class MyModel extends \ShellPHP\Storage\StoredObject { public $id = 'int primary autoinc'; public $name = 'text unique'; public $desc = 'text'; } \ShellPHP\Storage\Storage::Make('my_app_database.sqlite'); $obj1 = MyModel::Make(array('name'=>'obj1')); $obj1->Save(); MyModel::Make()->set('name','obj2')->Save(); var_dump(MyModel::Select()->like('name','obj%')->results()); $obj1->Delete(); var_dump(MyModel::Select()->results());
\ShellPHP\WebInterface
目前有一个提供Web界面的实验性功能。
$webinterface = \ShellPHP\WebInterface\WebInterface::Make() ->index(__DIR__."/web") ->handler('list',function($request){ return \ShellPHP\WebInterface\WebResponse::Json(array('hello'=>'world')); } ) ->go();