0.2.0 2019-02-25 20:35 UTC

This package is auto-updated.

Last update: 2024-09-23 07:09:14 UTC


README

此包提供应用程序容器,用于在包之间共享服务,并有助于测试PHP包的集成。

👀🌋 这是Caldera框架的模块 Caldera Framework

安装

  • 添加到您的包
    • composer require calderawp/http
  • 开发安装
    • git clone git@github.com:CalderaWP/http.git && composer install

概述

  • 提供具有以下功能的应用程序容器

    • 互操作性 - calderawp/interop:共享接口和特性,提供
      • 接口提供实体数据类型、更一致的数组和JSON之间的转换、数据库序列化以及提供业务逻辑类更可预测的公共API。
      • 特性提供这些接口的实现。
    • 表单 - calderawp/forms:表单和表单条目。
    • REST API - calderawp/rest-api:REST API端点和控制器
      • 可以将PSR-7或WordPress REST API请求转换到和从的REST API端点。
      • Caldera表单REST API。
    • HTTP - calderawp/http:通过HTTP在应用程序和外部世界之间的交互。
      • 用于REST API请求/响应以及HTTP客户端的基本请求/响应类。
      • HTTP客户端
      • 将HTTP请求调度到其他服务器。
    • 数据库 - calderawp/caldera-db:交互 - CRUD +匿名化和查询。
      • 与WordPress兼容,可能与其他MySQL类似数据库兼容。
      • 主要用于内部使用。数据包
    • 数据源 - calderawp/data-source 提供访问应用程序的通用、可交换的接口。
      • 默认情况下,使用 calderawp/caldera-db
      • 可以使用任何数据库,本地或通过远程API。
    • 事件 - calderawp/events - WordPress类似的事件调度。
      • 提供 ApplyFilters/AddFilter 实现。
      • 需要 AddAction/DoAction 实现。
      • WordPress插件应(它尚未)使用 apply_filtersdo_action 重复事件。
  • 为应用程序容器提供测试,并运行集成测试。

示例

通常,您应该使用函数 \caldera() 来访问主容器或任何模块。

$calderaForms = caldera()->getCalderaForms();

实例化Caldera核心

您可以使用静态访问器函数,它始终返回相同的全局Caldera核心实例

$calderaForms = caldera();

或者,您可以创建自己的Caldera核心实例

use calderawp\CalderaContainers\Service\Container;
use calderawp\caldera\core\CalderaCore;

$core = new CalderaCore(new Container());

获取Caldera表单模块

$calderaForms = caldera()->getCalderaForms();

或者

use calderawp\CalderaContainers\Service\Container;
use calderawp\caldera\core\CalderaCore;

$core = new CalderaCore(new Container());
$calderaForms = $core->getCalderaForms();

获取Caldera REST API模块

$calderaForms = caldera()->getRestApi();

或者

use calderawp\CalderaContainers\Service\Container;
use calderawp\caldera\core\CalderaCore;

$core = new CalderaCore(new Container());
$restApi = $core->getRestApi();

获取Caldera事件模块

$calderaForms = caldera()->getEvents();

或者

use calderawp\CalderaContainers\Service\Container;
use calderawp\caldera\core\CalderaCore;

$core = new CalderaCore(new Container());
$calderaEvents = $core->getEvents();

获取Caldera HTTP模块

$calderaForms = caldera()->getHttp();

或者

use calderawp\CalderaContainers\Service\Container;
use calderawp\caldera\core\CalderaCore;

$core = new CalderaCore(new Container());
$calderaEvents = $core->getHttp();

添加模块

模块必须实现 calderawp\interop\Contracts\CalderaModule

\caldera()->addModule($module);
$module = $core->getModule('moduleIdentifier');

测试

单元测试位于 tests/Unit 中。它们现在与集成测试同时运行 - composer test:integration

许可,版权,等等。

版权所有2018+ CalderaWP LLC,并根据GNU GPL许可协议许可。请与您的邻居分享。