Red Bean PHP
Likes 0
RedBeanPHP is an easy to use ORM for PHP. It's a Zero Config ORM
lib that 'automagically' builds your database schema.
Name | Red Bean PHP |
|---|---|
| Website | redbeanphp.com |
| Github / Bitbucket / Sourceforge | github.com/... |
| License | New BSD / GPL |
| Latest version | 4.3.2 |
| How schema is defined? | Automatically discovered on the fly. |
| Code generation | |
| Can be used in Any Framework | Yes |
| Automated Cache | |
| Anti-patterns (purposely included) | |
| Audience | |
| Dependencies | |
| Simplicity | no rating |
| Enterprise Compliance | no rating |
| Minimum PHP Version | |
| Basic Features | |
| PDO Support | |
| Transparent support for NoSQL | No Build around plain queries. |
| How to invoke db-vendor-specific extensions? | - Can add SQL code chunks. |
| Array as a persistence | No |
| RestAPI as a persistence | No |
| JSON string as a persistence | No |
| Same model, multiple persistences | |
| Basic Single-record operations (C,R,U,D) | |
| Table Name Mapping | No mapping no longer supported. |
| Field Name Mapping | No mapping no longer supported. |
| Map Entity to SubQuery | No |
| Map property to expression | No |
| Map native types (DateTime) | Yes |
| User-defined types (e.g. "23 USD") | |
| Map field of related Entity ('currency' = currency_id->Model Currency.name) | No |
| Map field to sub-query on related entity (Client.balance = Client->orders->sum(total)) | No |
| Entity to join multiple tables (adding new record populates both tables) | No |
| Criteria, Scope, Conditions (Model will refuse to work with records that does not match criteria) | |
| Support model-level criteria | No |
| Soft-delete | No |
| Domain Model Criteria | No |
| Expression-based condition | No |
| Criteria Compliance (new record must match condition) | No |
| Dynamic criteria | No |
| Query Building (Convert Model into Query object for further SQL tweaking) | |
| Convert Model into Query Object | No |
| Raw expression | Yes |
| Nested/Composite Queries/Expressions | No |
| Reference domain-model field in query | No |
| field, where, order, limit | No |
| options, rollup, partition | - not sure. |
| UPDATE, DELETE, INSERT query building | No |
| REPLACE, TRUNCATE | - wipe(), |
| SHOW, DESCRIBE, CALL | - Automatic schema alter / discovery. |
| ALTER, CREATE query building | No |
| User-defined query template | No |
| full support for OR conditions | No only raw query |
| Use Domain logic in multi-record update | No |
| Data Fetching (different ways to retrieve data from database) | |
| Get All Data (2x array) | Yes exportAll() |
| Associative Array (id=>value) | |
| Select only required fields | |
| Typecasting (e.g. DateTime) | |
| Import (multiple records) | |
| Respect domain model mapping (and criteria) | |
| Single row | |
| Single Value | |
| Single Column | Yes |
| Iterator | |
| Bypass persistence mapping | |
| Loading and Saving individual records | |
| Load by ID | Yes |
| Load by other field | No |
| Read-only Models | No |
| Model without primary key | No |
| Specify fields to load | No |
| Save only sends dirty fields | - (there is Dirty support, so I assuming it is supported) |
| Guarded / Fillable properties | |
| Object Hierarchy Model | |
| Admin extends User, adds criteria (is_admin=1) | No |
| Admin extends User, adds accessible fields | No |
| Extend model, add Join (Disjoined SubTypes) | No |
| Extend model change table | No |
| Relations/References (One model can relate to another model. NOT A TABLE JOIN) | |
| Model can define relation to other Model | Yes |
| One-to-Many | Yes |
| One-to-many traversal strategy | pre-fetch and store objects in an array. |
| Lazy/Eager-loading | Yes |
| One-to-One | Yes |
| Many-to-Many | |
| Deep Many-to-Many traversal. | - only with to-one references. Executes multiple queries. |
| Cross-Persistence traversal | No |
| Cross-persistence joins, aggregation, reporting | |
| Multi-persistence join | No |
| UNION existing models | No |
| Domain-model Aggregation | No |
| Model to Model join | No |
| Multi-persistence UNION | No |
| Behaviours / Hooks | |
| Before/After operation | |
| Override standard C,R,U,D operations | |
| Persistence-specific hooks (to modify Query) | |
| User-defined hooks | |
| Auditing | |
| Global Auditing | No |
| Store old/new field values | |
| Revert action (undo) and replay (redo) | |
| Reactive actions | |
| Store log in any persistence | |
| Override, Add fields to audit log | |
| Custom events | |
| Access to record-specific history | |
| Date of creation, modification | |
| User/IP creation, modification | |
| Store incremental revisions | |
| Integration | |
| Field meta-information provided | |
| UI extensions | No |
| API extensions |
User reviews and comments