RedBeanPHP ORM has tons of great features. The following is a list of key features:
- Focus on app development, forget about database structure.
- No configuration is required. Only one file (84KB).
- Creates tables, columns, indexes, and foreign keys (one-to-many, many-to-many, many-to-one) automatically.
- Automatically converts columns based on input data, except for special types. Comes with an Optimizer to further adjust columns for specific types.
- Provides Model class for input data validation, Aliases to use a certain bean (a database table) as a base for multiple objects (eg. both author and editor can be stored in a table users).
- Freeze mode to finalize database schema changes.
- Easy syntax to lookup the records. You can mix SQL with PHP when building queries.
- Provides nice implementation of Dependency Injection.
- Supports Database Transactions.
- Provides BeanCan Server to easily process client AJAX requests.
- Supports CUBRID, MySQL, PostgreSQL, and SQLite databases.
- Integrated into multiple popular PHP Frameworks. Plays well with CodeIgniter.
- Like many frameworks, RedBeanPHP provides functions to bulk import and export input data.
- Provides NoSQL-like syntax:
- Like NoSQL, you can just store objects right away without defining a schema
- Like NoSQL, no configuration is required
- Like NoSQL, RedBeanPHP has better performance than most classic ORMs
- Provides very exhaustive manual on how to use RedBeanPHP and its various functions.