iddqdby/tinyapp

小型命令行应用程序的微框架。

v1.2.1 2016-08-07 00:55 UTC

This package is not auto-updated.

Last update: 2024-09-14 17:48:27 UTC


README

Build Status Latest Stable Version Total Downloads License

描述

安装库

要安装库,运行 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