A flexible, lightweight, and powerful Object-Relational Mapper for PHP, implemented using the DataMapper pattern.
CakePHP ORM is a standalone Object-Relational Mapper for PHP that implements the DataMapper pattern. It provides a flexible and powerful way to interact with relational databases by allowing data manipulation as entities, enabling developers to build expressive domain layers in their applications.
PHP developers building applications with relational databases who need a robust ORM solution separate from the full CakePHP framework.
Developers choose CakePHP ORM for its clean DataMapper implementation, support for multiple databases, powerful association handling, and the ability to create custom domain logic without being tied to a full-stack framework.
[READ-ONLY] A flexible, lightweight and powerful Object-Relational Mapper for PHP, implemented using the DataMapper pattern. This repo is a split of the main code that can be found in https://github.com/cakephp/cakephp
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Implements DataMapper to cleanly separate domain logic from database interactions, enabling expressive domain layers as emphasized in the philosophy.
Supports MySQL, Postgres, SQLite, SQLServer, and Oracle via a community plugin, making it versatile for different relational database environments.
Provides built-in support for belongsTo, hasOne, hasMany, and belongsToMany associations, simplifying complex relationship management without extra libraries.
Offers entity marshalling that can handle nested associated data in a single save operation, reducing boilerplate code for data manipulation.
Requires explicit setup for connections, table locators, and custom classes, which can be verbose compared to convention-over-configuration ORMs like Eloquent.
Key features like associations and query building are documented externally in the CakePHP book, making initial learning and reference less seamless.
Metadata caching is recommended for production to avoid performance issues, indicating that uncached operations may introduce overhead in dynamic environments.