Red Bean PHP

2016-10-24 17:09:26
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
Site web
Github / Bitbucket / Sourceforge
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)
Simplicité0 aucune note
Enterprise Compliance0 aucune note
Minimum PHP Version
Basic Features
PDO Support
NoSQL Integrate TransparentlyNon 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
Persistence Mapping (must support 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
NoSQL (must be transparent to domain logic)
MongoDB supportNon
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
OR deep nested 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)
Single row
Single Value
Single Column
Bypass persistence mapping
Loading and Saving individual records
Load by IDOui
Load by other fieldNon
Load if expressionOui
Load respects Scope (model-level condition)Non
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 (is_admin=1)Non
Model that represent Orders of single User.Non
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
Multi-persistence Mapping (some data from SQL, others MongoDB)
Multi-persistence joinNon
UNION existing modelsNon
Multi-persistence UNIONNon
Multi-persistence value linking (current_sensor_value)Non
Behaviours / Hooks
Before/After operation
Hooks for C,R,U,D operations
Persistence-specific hooks (to modify Query)
User-defined hooks
Mapping strategy
How to set-up
Store old/new field values
Date of creation, modification
User/IP creation, modification
Store incremental revisions
Revert action (undo)
Custom events
Custom fields, table
Store in CSV
Access to record-specific history
Access Control
Implementation Strategy
Single-system global access scopeNon
Meta-information (allows exploration by UI widgets)
Implementation StrategyBeans support "meta" data actually contain data type or some user-data.
UI Widget can fetch list of Model Fields
UI Widget can get Field type, default value, caption, hint
field storing reference to another Model can map into DropDown
J'aime 0
  • 2016-10-19 01:38:35
    2016-10-24 17:09:26
  • Produits
  • Publique
  • Creative Commons License CC-BY-SA 3.0 / GNU FDL

Créer des tableaux comparatifs ou listes sur tout !

C'est gratuit et rapide de créer des tableaux originaux

Créer un tableau