https://github.com/guibranco/pancake
🧰 🛠️ Pancake project - toolkit for PHP projects
https://github.com/guibranco/pancake
communication composer hacktoberfest helpers library packagist php toolkit
Last synced: about 2 months ago
JSON representation
🧰 🛠️ Pancake project - toolkit for PHP projects
- Host: GitHub
- URL: https://github.com/guibranco/pancake
- Owner: guibranco
- License: mit
- Created: 2024-03-18T15:47:27.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2026-04-02T01:01:01.000Z (3 months ago)
- Last Synced: 2026-04-02T05:00:41.226Z (3 months ago)
- Topics: communication, composer, hacktoberfest, helpers, library, packagist, php, toolkit
- Language: PHP
- Homepage: http://guilherme.stracini.com.br/pancake/
- Size: 1.6 MB
- Stars: 3
- Watchers: 0
- Forks: 5
- Open Issues: 14
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# 🥞 Pancake
> A lightweight, composable toolkit for PHP 8.4+ projects.
[](https://github.com/guibranco/pancake/actions/workflows/ci.yml)
[](https://github.com/guibranco/pancake/blob/main/LICENSE)
[](https://packagist.org/packages/guibranco/pancake)
[](https://packagist.org/packages/guibranco/pancake)
[](https://wakatime.com/badge/github/guibranco/pancake)

📖 **Documentation:** [guibranco.github.io/pancake](https://guibranco.github.io/pancake/)
---
## Table of contents
- [Features](#features)
- [CI/CD](#cicd)
- [Code quality](#code-quality)
- [Installation](#installation)
- [User guide](#user-guide)
- [Testing](#testing)
- [Changelog](#changelog)
- [Contributing](#contributing)
- [Support](#support)
---
## Features
Pancake provides a curated set of battle-tested utility classes, ready to drop into any PHP project:
| Class | Description |
|---|---|
| [`CircuitBreaker`](https://guibranco.github.io/pancake/user-guide/basic-usage/) | Prevents cascading failures with open/half-open/closed state management |
| [`Color`](https://guibranco.github.io/pancake/user-guide/color/) | Color conversion and manipulation utilities |
| [`Database`](https://guibranco.github.io/pancake/user-guide/database/) | Thin PDO wrapper with query building helpers |
| [`GUIDv4`](https://guibranco.github.io/pancake/user-guide/guid-v4/) | RFC 4122-compliant UUID v4 generator |
| [`GitHub`](https://guibranco.github.io/pancake/user-guide/github/) | Interact with the GitHub REST API |
| [`HealthChecks`](https://guibranco.github.io/pancake/user-guide/health-checks/) | Liveness and readiness probe endpoints |
| [`IpUtils`](https://guibranco.github.io/pancake/user-guide/ip-utils/) | IP address parsing, validation, and range checking |
| [`Logger`](https://guibranco.github.io/pancake/user-guide/logger/) | PSR-3 compatible structured logger |
| [`LogStream`](https://guibranco.github.io/pancake/user-guide/logstream/) | Real-time log ingestion and streaming client |
| [`MemoryCache`](https://guibranco.github.io/pancake/user-guide/memory-cache/) | Shared-memory key/value store backed by `shmop` |
| [`OneSignal`](https://guibranco.github.io/pancake/user-guide/one-signal/) | Push notification client for the OneSignal API |
| [`Request`](https://guibranco.github.io/pancake/user-guide/request/) | Fluent HTTP client with `curl_multi` support |
| [`SessionManager`](https://guibranco.github.io/pancake/user-guide/session-manager/) | Secure session handling with lifetime and flash support |
| [`ShieldsIo`](https://guibranco.github.io/pancake/user-guide/shieldsio/) | Shields.io badge builder with cache-control |
---
## CI/CD
| Build | Last commit | Coverage | Code smells | Lines of code |
|:---:|:---:|:---:|:---:|:---:|
| [](https://github.com/guibranco/pancake/actions/workflows/ci.yml) | [](https://github.com/guibranco/pancake) | [](https://sonarcloud.io/dashboard?id=guibranco_pancake) | [](https://sonarcloud.io/dashboard?id=guibranco_pancake) | [](https://sonarcloud.io/dashboard?id=guibranco_pancake) |
---
## Code quality
[](https://app.codacy.com/gh/guibranco/pancake/dashboard?utm_source=gh&utm_medium=referral&utm_content=&utm_campaign=Badge_grade)
[](https://app.codacy.com/gh/guibranco/pancake/dashboard?utm_source=gh&utm_medium=referral&utm_content=&utm_campaign=Badge_coverage)
[](https://codecov.io/gh/guibranco/pancake)
[](https://www.codefactor.io/repository/github/guibranco/pancake)
[](https://sonarcloud.io/dashboard?id=guibranco_pancake)
[](https://sonarcloud.io/dashboard?id=guibranco_pancake)
[](https://sonarcloud.io/dashboard?id=guibranco_pancake)
[](https://sonarcloud.io/dashboard?id=guibranco_pancake)
[](https://sonarcloud.io/dashboard?id=guibranco_pancake)
[](https://sonarcloud.io/dashboard?id=guibranco_pancake)
[](https://sonarcloud.io/dashboard?id=guibranco_pancake)
[](https://sonarcloud.io/dashboard?id=guibranco_pancake)
[](https://qlty.sh/gh/guibranco/projects/Pancake)
[](https://qlty.sh/gh/guibranco/projects/Pancake)
[](https://app.deepsource.com/gh/guibranco/pancake/?ref=repository-badge)
---
## Installation
**Requirements:** PHP 8.4+, Composer
### Via Composer (recommended)
```bash
composer require guibranco/pancake
```
### Via GitHub Releases
Download the latest archive from the [Releases](https://github.com/GuiBranco/pancake/releases) page and include the autoloader manually.
[](https://github.com/guibranco/pancake/releases)
---
## User guide
Full documentation, class references, and examples live at **[guibranco.github.io/pancake](https://guibranco.github.io/pancake/user-guide/basic-usage/)**.
### Quick start
```php
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](https://wiremock.org/) for integration tests (see [`docker-compose.yml`](docker-compose.yml))
### Running the test suite
```bash
# 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](https://guibranco.github.io/pancake/changelog/) for the full history of releases and changes.
---
## Contributing
Contributions are welcome! Please read [CONTRIBUTING.md](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](https://github.com/guibranco/pancake/issues/new/choose) for bug reports, feature requests, or questions.
---
Copyright © Guilherme Branco Stracini. Released under the [MIT License](LICENSE).