Awesome
<h1 align="center"> <a href="https://codefyphp.com/" target="_blank"><img src="https://downloads.joshuaparker.blog/images/codefyphp-460x105.png" width="400" alt="CodefyPHP Logo"></a> </h1> <p align="center"> <a href="https://codefyphp.com/"><img src="https://img.shields.io/packagist/v/CodefyPHP/codefy?label=CodefyPHP" alt="Latest Stable Version"></a> <a href="https://www.php.net/"><img src="https://img.shields.io/badge/PHP-8.2-777BB4.svg?style=flat&logo=php" alt="PHP 8.2"/></a> <a href="https://packagist.org/packages/codefyphp/codefy"><img src="https://img.shields.io/packagist/l/codefyphp/codefy" alt="License"></a> <a href="https://packagist.org/packages/codefyphp/codefy"><img src="https://img.shields.io/packagist/dt/codefyphp/codefy" alt="Total Downloads"></a> <a href="https://codefyphp.com/community/"><img src="https://img.shields.io/badge/Forum-AE508D.svg?label=Support&style=flat" alt="CodefyPHP Support Forum"></a> </p>CodefyPHP is not a framework such as the likes of Symfony, Laravel, Codeigniter or CakePHP. Codefy is a simple, light framework providing interfaces and implementations for architecting a Domain Driven project with CQRS, Event Sourcing and implementations of PSR-3, PSR-6, PSR-7, PSR-11, PSR-12, PSR-15, PSR-16 and PSR-17.
The philosophy of Codefy is that code should be systematized, maintainable, and follow OOP (Object-Oriented Programming). CodefyPHP tries not to be too opinionated, yet encourages best practices and coding standards by following Qubus Coding Standards. Use Codefy as you see fit. You can tap into all, some or none of the features and instead use the interfaces to build your own implementations for a domain driven project.
<h3 align="center"> <img src="https://downloads.joshuaparker.blog/images/UserId.png" width="660" alt="UserId ValueObject"> </h3>📍 Requirement
- PHP 8.2+
- Additional constraints based on which components are used.
🏆 Highlighted Features
- A powerful routing engine
- Robust dependency injector for bootstrapping
- Adapters for cookies, sessions and cache storage
- Provides a simple hook and event system without affecting core code
- Encourages object-oriented programming
- Multiple PSR implementations
- Dual query builders with migrations
- Scheduler for scheduling tasks/jobs
- Security and sanitizing helpers
- Dual templating engines
📦 Installation
You can use the composer command below to install the library, or by creating a new Codefy project using the skeleton package.
composer require codefyphp/codefy
🕑 Releases
Version | Minimum PHP Version | Release Date | Bug Fixes Until | Security Fixes Until |
---|---|---|---|---|
1 | 8.2 | September 2023 | July 2024 | March 2025 |
2 - LTS | 8.2 | September 2024 | September 2027 | September 2028 |
3 | 8.3 | October 2024 | August 2025 | April 2026 |
4 | 8.4 | February 2025 | December 2025 | August 2026 |
5 - LTS | 8.4 | April 2025 | April 2028 | April 2029 |
📘 Documentation
Documentation is still a work in progress. Between the Qubus Components documentation and CodefyPHP's documentation, that should help you get started. If you have questions or need help, feel free to ask for help in the forums.
🙌 Sponsors
If you use CodefyPHP or you are interested in supporting the continued development of my opensource projects, please consider sponsoring me via Github or Ko-fi.
🖋 Contributing
CodefyPHP could always be better! If you are interested in contributing enhancements or bug fixes, here are a few rules to follow in order to ease code reviews, and discussions before I accept and merge your work.
- You MUST follow the QubusPHP Coding Standards.
- You MUST write (or update) unit tests.
- You SHOULD write documentation.
- Please, write commit messages that make sense, and rebase your branch before submitting your Pull Request.
- Please squash your commits too.
This is used to "clean" your Pull Request before merging it (I don't want commits such as
fix tests
,fix 2
,fix 3
, etc.).
🔐 Security Vulnerabilities
If you discover a vulnerability in the code, please email joshua@joshuaparker.dev.
📄 License
CodefyPHP is opensource software licensed under the MIT License.