Comparateur de taille
English Español

Red Bean PHP

RedBeanPHP is an easy to use ORM for PHP. It's a Zero Config ORM lib that 'automagically' builds your database schema.
PHP Data Access Libraries (ORM, ActiveRecord, Persistence)
Red Bean PHP
Github / Bitbucket /
LicenceNew BSD / GPL
Dernière version4.3.2
How schema is defined?Automatically discovered on the fly.
Code generation
Can be used in Any FrameworkOui
Automated Cache
Anti-patterns (purposely included)
aucune note
Enterprise Compliance
aucune note
Minimum PHP Version
Basic Features
PDO Support
Transparent support for NoSQLNon Build around plain queries.
How to invoke db-vendor-specific extensions?- Can add SQL code chunks.
Array as a persistenceNon
RestAPI as a persistenceNon
JSON string as a persistenceNon
Same model, multiple persistences
Basic Single-record operations (C,R,U,D)
Table Name MappingNon mapping no longer supported.
Field Name MappingNon mapping no longer supported.
Map Entity to SubQueryNon
Map property to expressionNon
Map native types (DateTime)Oui
User-defined types (e.g. "23 USD")
Map field of related Entity ('currency' = currency_id->Model
Map field to sub-query on related entity (Client.balance = Client->orders->sum(total))Non
Entity to join multiple tables (adding new record populates both tables)Non
Criteria, Scope, Conditions (Model will refuse to work with records that does not match criteria)
Support model-level criteriaNon
Domain Model CriteriaNon
Expression-based conditionNon
Criteria Compliance (new record must match condition)Non
Dynamic criteriaNon
Query Building (Convert Model into Query object for further SQL tweaking)
Convert Model into Query ObjectNon
Raw expressionOui
Nested/Composite Queries/ExpressionsNon
Reference domain-model field in queryNon
field, where, order, limitNon
options, rollup, partition- not sure.
UPDATE, DELETE, INSERT query buildingNon
SHOW, DESCRIBE, CALL- Automatic schema alter / discovery.
ALTER, CREATE query buildingNon
User-defined query templateNon
full support for OR conditionsNon only raw query
Use Domain logic in multi-record updateNon
Data Fetching (different ways to retrieve data from database)
Get All Data (2x array)Oui 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 ColumnOui
Bypass persistence mapping
Loading and Saving individual records
Load by IDOui
Load by other fieldNon
Read-only ModelsNon
Model without primary keyNon
Specify fields to loadNon
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)Non
Admin extends User, adds accessible fieldsNon
Extend model, add Join (Disjoined SubTypes)Non
Extend model change tableNon
Relations/References (One model can relate to another model. NOT A TABLE JOIN)
Model can define relation to other ModelOui
One-to-many traversal strategypre-fetch and store objects in an array.
Deep Many-to-Many traversal.- only with to-one references. Executes multiple queries.
Cross-Persistence traversalNon
Cross-persistence joins, aggregation, reporting
Multi-persistence joinNon
UNION existing modelsNon
Domain-model AggregationNon
Model to Model joinNon
Multi-persistence UNIONNon
Behaviours / Hooks
Before/After operation
Override standard C,R,U,D operations
Persistence-specific hooks (to modify Query)
User-defined hooks
Global AuditingNon
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
Field meta-information provided
UI extensionsNon
API extensions
21 déc. 2017 11:31:25
Voir les modifications

Avis utilisateurs et commentaires

Pas de commentaires pour l'instant. Soyez le premier à laisser votre avis.