PHPackages                             calderawp/core - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. calderawp/core

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

calderawp/core
==============

Forms

0.2.0(7y ago)06GPL-2.0PHPPHP ^7.2

Since Jan 9Pushed 7y ago2 watchersCompare

[ Source](https://github.com/CalderaWP/core)[ Packagist](https://packagist.org/packages/calderawp/core)[ RSS](/packages/calderawp-core/feed)WikiDiscussions master Synced 3d ago

READMEChangelogDependencies (5)Versions (4)Used By (0)

Caldera Core
============

[](#caldera-core)

This package provides the application container for sharing services between packages and it helps with testing the integration of PHP packages.

👀🌋 This Is A Module Of The [Caldera Framework](https://github.com/CalderaWP/caldera)
------------------------------------------------------------------------------------

[](#-this-is-a-module-of-the-caldera-framework)

- 🌋 Find Caldera Forms Here:

    - [Caldera Forms on Github](http://github.com/calderawp/caldera-forms/)
    - [CalderaForms.com](http://calderaforms.com)
- 🌋 [Issues](https://github.com/CalderaWP/caldera/issues) and [pull requests](https://github.com/CalderaWP/caldera/pulls), should be submitted to the [main Caldera repo](https://github.com/CalderaWP/caldera/pulls).

Install
-------

[](#install)

- Add to your package:
    - `composer require calderawp/http`
- Install for development:
    - `git clone git@github.com:CalderaWP/http.git && composer install`

Overview
--------

[](#overview)

- Provides application container with:

    - Interop - `calderawp/interop`: Shared interfaces and traits that:
        - Interfaces that provide data-typing of entities, more consistent translation to and from array/ JSON/ database serialization and more predictable public APIs of business logic providing classes.
        - Traits that provide implementations of these interfaces.
    - Forms - `calderawp/forms`: Forms and form entries.
    - Rest API - `calderawp/rest-api`: REST API endpoints and controllers
        - REST API endpoints that can translate to and from PSR-7 or WordPress REST API requests.
        - The Caldera Forms REST API.
    - HTTP - `calderawp/http`: Http interactions between application and outside world via HTTP.
        - Base Request/Response classes used for REST API request/ responses as well as HTTP clients
        - Http clients
        - Dispatching HTTP requests to other servers.
    - Database - `calderawp/caldera-db`: interactions -- CRUD + anonymize and queries.
        - Works with WordPress, and could work with any MySQL-like database.
        - Mainly for internal use. The data package
    - Data Sourcing - `calderawp/data-source` Provides common, swappable interface for accessing application.
        - By default, uses `calderawp/caldera-db`
        - Could use any database, locally or via remote API.
    - Events - `calderawp/events` - WordPress-like event dispatching.
        - Provides an ApplyFilters/AddFilter implementation.
        - Needs an AddAction/DoAction implementation.
        - The WordPress plugin SHOULD (it does not yet) repeat events with `apply_filters` and `do_action`.
- Provides tests for said the application container, and runs integration tests.

Examples
--------

[](#examples)

In general, you should use the function `\caldera()` to access the main container or any of the modules.

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

### Instantiate Caldera Core

[](#instantiate-caldera-core)

You can use the static accessor function, which always returns the same, global instance of Caldera Core:

```
$calderaForms = caldera();
```

Alternatively, you can create your own instance of Caldera Core:

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

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

### Get The Caldera Forms Module

[](#get-the-caldera-forms-module)

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

or

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

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

### Get The Caldera Rest API Module

[](#get-the-caldera-rest-api-module)

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

or

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

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

### Get The Caldera Events Module

[](#get-the-caldera-events-module)

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

or

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

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

### Get The Caldera Http Module

[](#get-the-caldera-http-module)

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

or

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

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

### Add A Module

[](#add-a-module)

Module must implement `calderawp\interop\Contracts\CalderaModule`;

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

Testing
-------

[](#testing)

Unit tests are in `tests/Unit`. They are run at same time as integration tests -- `composer test:integration` -- for now.

License, Copyright, etc.
------------------------

[](#license-copyright-etc)

Copyright 2018+ CalderaWP LLC and licensed under the terms of the GNU GPL license. Please share with your neighbor.

###  Health Score

21

—

LowBetter than 19% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity4

Limited adoption so far

Community4

Small or concentrated contributor base

Maturity48

Maturing project, gaining track record

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~24 days

Total

3

Last Release

2635d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/ca938daf3f2a666cd32c7bdb6e30714da6fe0e6cd5012fe4864b18afae43fbcd?d=identicon)[Shelob9](/maintainers/Shelob9)

###  Code Quality

TestsPHPUnit

Code StylePHP\_CodeSniffer

### Embed Badge

![Health badge](/badges/calderawp-core/health.svg)

```
[![Health](https://phpackages.com/badges/calderawp-core/health.svg)](https://phpackages.com/packages/calderawp-core)
```

###  Alternatives

[symfony/dependency-injection

Allows you to standardize and centralize the way objects are constructed in your application

4.2k431.1M7.5k](/packages/symfony-dependency-injection)[illuminate/contracts

The Illuminate Contracts package.

704122.9M10.1k](/packages/illuminate-contracts)[illuminate/container

The Illuminate Container package.

31278.1M2.0k](/packages/illuminate-container)[ecotone/ecotone

Supporting you in building DDD, CQRS, Event Sourcing applications with ease.

558549.8k17](/packages/ecotone-ecotone)[civicrm/civicrm-core

Open source constituent relationship management for non-profits, NGOs and advocacy organizations.

728272.9k20](/packages/civicrm-civicrm-core)[internal/dload

Downloads binaries.

98142.7k10](/packages/internal-dload)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
