iddqdby / tinyapp
小型命令行应用程序的微框架。
v1.2.1
2016-08-07 00:55 UTC
Requires
- php: ^5.4 || ^7.0
Requires (Dev)
- phpunit/phpunit: ~4.8.23-stable
This package is not auto-updated.
Last update: 2024-09-14 17:48:27 UTC
README
描述
安装库
要安装库,运行 composer require iddqdby/tinyapp
。
创建应用程序
要创建应用程序
- 扩展抽象类
TinyApp\App
- 实现方法
init()
以初始化您的应用程序 - 实现方法
get($key)
以从您喜欢的任何依赖注入容器中获取服务和其它内容 - 创建一个控制器类,它扩展了
TinyApp\Controller
命名空间中的抽象类之一 - 创建公开的动作方法,如 "somethingAction"
- 在依赖注入容器中定义您的控制器,键为
App::CONTROLLER_PREFIX.App::CONTROLLER_MAIN
- 在您的动作中使用受保护的方法
get($key)
从您的依赖注入容器中获取服务和其它内容 - 实例化您的应用程序并调用方法
$app->run($action, $arguments)
以调用一次动作,或$app->loop()
以在交互模式下运行您的应用程序
示例
从 CLI 运行的脚本的示例
<?php require '/path/to/vendor/autoload.php'; $action = $argv[1]; $arguments = array_slice($argv, 2); $app = new MyApp(); // MyApp extends TinyApp\App $result = $app->run($action, $arguments); printf("%s\n", $result);
上面示例中的 $action
必须匹配正则表达式 "/((?<CONTROLLER>[\w\d\_]+):)?(?<ACTION>[\w\d\_]+)/i"
。
App::CONTROLLER_PREFIX
前缀将被添加到 CONTROLLER。如果省略,则 CONTROLLER 将设置为 App::CONTROLLER_MAIN
。
App::ACTION_POSTFIX
后缀将被添加到 ACTION。
将调用控制器的动作,并返回其结果。如果给定键下没有注册控制器,或者控制器中没有这样的动作,将抛出 \BadMethodCallException
异常。
要求
PHP 5.4 或更高版本。
许可证
本程序遵循 MIT 许可证。查看 LICENSE。