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 |
---|---|
Sito web | 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 | Sì |
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) | Sì |
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 | Sì |
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) | Sì 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 | Sì |
Iterator | |
Bypass persistence mapping | |
Loading and Saving individual records | |
Load by ID | Sì |
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 | Sì |
One-to-Many | Sì |
One-to-many traversal strategy | pre-fetch and store objects in an array. |
Lazy/Eager-loading | Sì |
One-to-One | Sì |
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