guibranco / pancake
The Pancake project, a toolkit for PHP projects
Requires (Dev)
- phpunit/phpunit: 13.1.7
- dev-main
- v1.7.4
- v1.7.3
- v1.7.2
- v1.7.1
- v1.7.0
- v1.6.11
- v1.6.10
- v1.6.9
- v1.6.8
- v1.6.7
- v1.6.6
- v1.6.5
- v1.6.4
- v1.6.3
- v1.6.2
- v1.6.1
- v1.6.0
- v1.5.4
- v1.5.3
- v1.5.2
- v1.5.1
- v1.5.0
- v1.4.2
- v1.4.1
- v1.4.0
- v1.3.108
- v1.3.107
- v1.3.106
- v1.3.105
- v1.3.104
- v1.3.103
- v1.3.102
- v1.3.101
- v1.3.100
- v1.3.99
- v1.3.98
- v1.3.97
- v1.3.96
- v1.3.95
- v1.3.94
- v1.3.93
- v1.3.92
- v1.3.91
- v1.3.90
- v1.3.89
- v1.3.88
- v1.3.87
- v1.3.86
- v1.3.85
- v1.3.84
- v1.3.83
- v1.3.82
- v1.3.81
- v1.3.80
- v1.3.79
- v1.3.78
- v1.3.77
- v1.3.76
- v1.3.75
- v1.3.74
- v1.3.73
- v1.3.72
- v1.3.71
- v1.3.70
- v1.3.69
- v1.3.68
- v1.3.67
- v1.3.66
- v1.3.65
- v1.3.64
- v1.3.63
- v1.3.62
- v1.3.61
- v1.3.60
- v1.3.59
- v1.3.58
- v1.3.57
- v1.3.56
- v1.3.55
- v1.3.54
- v1.3.53
- v1.3.52
- v1.3.51
- v1.3.50
- v1.3.49
- v1.3.48
- v1.3.47
- v1.3.46
- v1.3.45
- v1.3.44
- v1.3.43
- v1.3.42
- v1.3.41
- v1.3.40
- v1.3.39
- v1.3.38
- v1.3.37
- v1.3.36
- v1.3.35
- v1.3.34
- v1.3.33
- v1.3.32
- v1.3.31
- v1.3.30
- v1.3.29
- v1.3.28
- v1.3.27
- v1.3.26
- v1.3.25
- v1.3.24
- v1.3.23
- v1.3.22
- v1.3.21
- v1.3.20
- v1.3.19
- v1.3.18
- v1.3.17
- v1.3.16
- v1.3.15
- v1.3.14
- v1.3.13
- v1.3.9
- v1.3.8
- v1.3.3
- v1.3.2
- v1.3.1
- v1.3.0
- v1.2.38
- v1.2.37
- v1.2.36
- v1.2.35
- v1.2.34
- v1.2.33
- v1.2.32
- v1.2.31
- v1.2.29
- v1.2.28
- v1.2.27
- v1.2.26
- v1.2.25
- v1.2.24
- v1.2.23
- v1.2.22
- v1.2.21
- v1.2.19
- v1.2.18
- v1.2.17
- v1.2.16
- v1.2.15
- v1.2.14
- v1.2.13
- v1.2.12
- v1.2.11
- v1.2.10
- v1.2.9
- v1.2.8
- v1.2.7
- v1.2.6
- v1.2.5
- v1.2.4
- v1.2.3
- v1.2.2
- v1.2.1
- v1.2.0
- v1.1.0
- v1.0.12
- v1.0.11
- v1.0.10
- v1.0.9
- v1.0.5
- v1.0.4
- v1.0.3
- v1.0.2
- v1.0.1
- v1.0.0
- v0.14.28
- v0.14.27
- v0.14.25
- v0.14.23
- v0.14.21
- v0.14.20
- v0.14.18
- v0.14.15
- v0.14.12
- v0.14.11
- v0.14.10
- v0.14.9
- v0.14.8
- v0.14.7
- v0.14.6
- v0.14.5
- v0.14.4
- v0.14.3
- v0.14.2
- v0.14.1
- v0.14.0
- v0.13.0
- v0.12.3
- v0.12.2
- v0.12.1
- v0.12.0
- v0.11.11
- v0.11.10
- v0.11.9
- v0.11.8
- v0.11.7
- v0.11.6
- v0.11.5
- v0.11.4
- v0.11.3
- v0.11.2
- v0.11.1
- v0.11.0
- v0.10.2
- v0.10.1
- v0.10.0
- v0.9.2
- v0.9.1
- v0.9.0
- v0.8.30
- v0.8.29
- v0.8.28
- v0.8.27
- v0.8.26
- v0.8.25
- v0.8.23
- v0.8.22
- v0.8.21
- v0.8.20
- v0.8.19
- v0.8.18
- v0.8.17
- v0.8.16
- v0.8.15
- v0.8.14
- v0.8.13
- v0.8.12
- v0.8.11
- v0.8.10
- v0.8.9
- v0.8.8
- v0.8.7
- v0.8.6
- v0.8.5
- v0.8.4
- v0.8.3
- v0.8.2
- v0.8.1
- v0.8.0
- v0.7.32
- v0.7.31
- v0.7.30
- v0.7.29
- v0.7.28
- v0.7.27
- v0.7.26
- v0.7.25
- v0.7.24
- v0.7.23
- v0.7.22
- v0.7.21
- v0.7.20
- v0.7.19
- v0.7.18
- v0.7.17
- v0.7.16
- v0.7.15
- v0.7.14
- v0.7.11
- v0.7.10
- v0.7.8
- v0.7.7
- v0.7.6
- v0.7.5
- v0.7.3
- v0.7.0
- v0.6.27
- v0.6.26
- v0.6.25
- v0.6.24
- v0.6.23
- v0.6.22
- v0.6.21
- v0.6.20
- v0.6.19
- v0.6.15
- v0.6.13
- v0.6.12
- v0.6.11
- v0.6.10
- v0.6.9
- v0.6.8
- v0.6.7
- v0.6.6
- v0.6.5
- v0.6.4
- v0.6.3
- v0.6.2
- v0.6.1
- v0.6.0
- v0.5.0
- v0.4.2
- v0.4.1
- v0.4.0
- v0.3.1
- v0.3.0
- v0.2.21
- v0.2.20
- v0.2.19
- v0.2.18
- v0.2.16
- v0.2.15
- v0.2.14
- v0.2.13
- v0.2.12
- v0.2.11
- v0.2.10
- v0.2.9
- v0.2.8
- v0.2.7
- v0.2.6
- v0.2.5
- v0.2.4
- v0.2.3
- v0.2.2
- v0.2.1
- v0.2.0
- v0.1.21
- v0.1.20
- v0.1.19
- v0.1.18
- v0.1.17
- v0.1.16
- v0.1.15
- v0.1.14
- v0.1.13
- v0.1.12
- v0.1.11
- v0.1.10
- v0.1.9
- v0.1.8
- v0.1.7
- v0.1.6
- v0.1.5
- v0.1.4
- v0.1.3
- v0.1.2
- v0.1.1
- dev-dependabot/github_actions/actions/checkout-6
- dev-dependabot/github_actions/actions/download-artifact-8
- dev-dependabot/github_actions/guibranco/github-infisical-secrets-check-action-5.0.3
- dev-contributors-readme-action-c-LeURQ6Vw
- dev-contributors-readme-action-FcYqXS5fkU
- dev-dependabot/github_actions/actions/upload-artifact-7
- dev-dependabot/composer/phpunit/phpunit-13.1.7
- dev-contributors-readme-action-Vmp2cFF2KE
- dev-depfu/update/composer/phpunit/phpunit-13.1.6
- dev-dependabot/composer/composer-49bb9d1f95
- dev-feature/add-queue-wrapper
- dev-gitauto/issue-+235-e9717850-6cb0-4c71-977a-0252215df6ea
- dev-gitauto/issue-237-89757ae2-5736-4b2e-9a82-20e0e588b009
- dev-gitauto/issue-236-25e6bb88-4bef-4c61-bac6-b2f559ba760c
- dev-penify/auto_doc_97cc615_23bb6
This package is auto-updated.
Last update: 2026-04-22 19:15:38 UTC
README
A lightweight, composable toolkit for PHP 8.4+ projects.
📖 Documentation: guibranco.github.io/pancake
Table of contents
Features
Pancake provides a curated set of battle-tested utility classes, ready to drop into any PHP project:
| Class | Description |
|---|---|
CircuitBreaker |
Prevents cascading failures with open/half-open/closed state management |
Color |
Color conversion and manipulation utilities |
Database |
Thin PDO wrapper with query building helpers |
GUIDv4 |
RFC 4122-compliant UUID v4 generator |
GitHub |
Interact with the GitHub REST API |
HealthChecks |
Liveness and readiness probe endpoints |
IpUtils |
IP address parsing, validation, and range checking |
Logger |
PSR-3 compatible structured logger |
LogStream |
Real-time log ingestion and streaming client |
MemoryCache |
Shared-memory key/value store backed by shmop |
OneSignal |
Push notification client for the OneSignal API |
Request |
Fluent HTTP client with curl_multi support |
SessionManager |
Secure session handling with lifetime and flash support |
ShieldsIo |
Shields.io badge builder with cache-control |
CI/CD
| Build | Last commit | Coverage | Code smells | Lines of code |
|---|---|---|---|---|
Code quality
Installation
Requirements: PHP 8.4+, Composer
Via Composer (recommended)
composer require guibranco/pancake
Via GitHub Releases
Download the latest archive from the Releases page and include the autoloader manually.
User guide
Full documentation, class references, and examples live at guibranco.github.io/pancake.
Quick start
<?php require 'vendor/autoload.php'; use GuiBranco\Pancake\CircuitBreaker; use GuiBranco\Pancake\MemoryCache; use GuiBranco\Pancake\Request; // Protect an external API call with a circuit breaker $cb = new CircuitBreaker(new MemoryCache(), failureThreshold: 3, resetTimeout: 60); $result = $cb->execute(function () { $request = new Request(); return $request->get('https://api.example.com/data'); });
Testing
Requirements
- PHP 8.4+
- Composer
- MySQL / MariaDB running locally with the following config:
| Setting | Value |
|---|---|
| Host | localhost |
| Port | 3306 |
| User | root |
| Password | root |
| Database | pancake |
- WireMock for integration tests (see
docker-compose.yml)
Running the test suite
# Install dependencies composer install # Start WireMock (required for integration tests) docker compose up -d # Run all tests ./vendor/bin/phpunit tests # Run only unit tests ./vendor/bin/phpunit tests/Unit # Run only integration tests ./vendor/bin/phpunit tests/Integration
Changelog
See CHANGELOG for the full history of releases and changes.
Contributing
Contributions are welcome! Please read CONTRIBUTING.md before opening a pull request.
Contributors
|
Guilherme Branco Stracini |
Gabriel Goulart |
Haraprasad Mondal |
Sheikh Humayun Roshid |
Bots
|
dependabot[bot] |
github-actions[bot] |
gitauto-ai[bot] |
deepsource-autofix[bot] |
penify-dev[bot] |
Snyk Bot |
Support
Please open an issue for bug reports, feature requests, or questions.
Copyright © Guilherme Branco Stracini. Released under the MIT License.
