calderawp / core
0.2.0
2019-02-25 20:35 UTC
Requires
- php: ^7.2
- psr/container: ^1.0
Requires (Dev)
- php: ^7.2
- mockery/mockery: ^1.2
- phpunit/phpunit: ^7.3
- spatie/phpunit-snapshot-assertions: ^1.3
- squizlabs/php_codesniffer: 3.*
This package is auto-updated.
Last update: 2024-09-23 07:09:14 UTC
README
此包提供应用程序容器,用于在包之间共享服务,并有助于测试PHP包的集成。
👀🌋 这是Caldera框架的模块 Caldera Framework
-
🌋 在这里找到Caldera表单
-
🌋 问题 和 拉取请求 应提交到 主Caldera仓库。
安装
- 添加到您的包
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_filters
和do_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许可协议许可。请与您的邻居分享。