Ting

Produits
2017-12-21 11:31:25
Simple: no magic inside : it’s basically SQL queries
PHP Data Access Libraries (ORM, ActiveRecord, Persistence)
Ting
Site webhttp://tech.ccmbg.com/ting/
Github / Bitbucket / Sourceforgehttps://bitbucket.org/ccmbenchmark/ting
LicenceApache 2
Dernière version3.4.2
How schema is defined?PHP
Code generation
Can be used in Any FrameworkOui composer / packagist
Automated Cache
Anti-patterns (purposely included)
Audience
DependenciesMinimal: 3, pimple, doctrine/cache, aura/sqlquery
Simplicité5.0 1 note
Enterprise Compliance5.0 1 note
Minimum PHP Version5.5
Basic Features
PDO Support- But made a custom driver to support it is easy
Transparent support for NoSQLNon
How to invoke db-vendor-specific extensions?Oui Ting use native query, you can use everyting of your SGBD
Array as a persistence
RestAPI as a persistence
JSON string as a persistence
Same model, multiple persistences
Basic Single-record operations (C,R,U,D)
Table Name MappingOui Yes
Field Name MappingOui Yes
Map Entity to SubQueryNon This concept is no-sense for Ting
Map property to expressionNon This concept is no-sense for Ting
Map native types (DateTime)Oui Yes
User-defined types (e.g. "23 USD")Oui Yes, with custom serializer
Map field of related Entity ('currency' = currency_id->Model Currency.name)Oui Yes
Map field to sub-query on related entity (Client.balance = Client->orders->sum(total))- This concept is no-sense for Ting
Entity to join multiple tables (adding new record populates both tables)Oui Yes
Criteria, Scope, Conditions (Model will refuse to work with records that does not match criteria)
Support model-level criteria
Soft-delete
Domain Model Criteria
Expression-based condition
Criteria Compliance (new record must match condition)
Dynamic criteria
Query Building (Convert Model into Query object for further SQL tweaking)
Convert Model into Query Object
Raw expressionOui
Nested/Composite Queries/Expressions
Reference domain-model field in queryNon
field, where, order, limitOui
options, rollup, partition
UPDATE, DELETE, INSERT query buildingOui
REPLACE, TRUNCATE
SHOW, DESCRIBE, CALL
ALTER, CREATE query building
User-defined query template
full support for OR conditions
Use Domain logic in multi-record update
Data Fetching (different ways to retrieve data from database)
Get All Data (2x array)Oui
Associative Array (id=>value)
Select only required fields
Typecasting (e.g. DateTime)Oui
Import (multiple records)Oui
Respect domain model mapping (and criteria)
Single rowOui
Single ValueOui
Single ColumnOui
Iterator
Bypass persistence mapping
Loading and Saving individual records
Load by IDOui get(id)
Load by other fieldOui getBy(['propertyName' => 'value']);
Read-only Models
Model without primary keyOui
Specify fields to loadOui
Save only sends dirty fieldsOui
Guarded / Fillable properties
Object Hierarchy Model
Admin extends User, adds criteria (is_admin=1)
Admin extends User, adds accessible fields
Extend model, add Join (Disjoined SubTypes)
Extend model change table
Relations/References (One model can relate to another model. NOT A TABLE JOIN)
Model can define relation to other Model
One-to-Many
One-to-many traversal strategy
Lazy/Eager-loading
One-to-One
Many-to-Many
Deep Many-to-Many traversal.
Cross-Persistence traversal
Cross-persistence joins, aggregation, reporting
Multi-persistence join
UNION existing models
Domain-model Aggregation
Model to Model join
Multi-persistence UNION
Behaviours / Hooks
Before/After operation
Override standard C,R,U,D operations
Persistence-specific hooks (to modify Query)
User-defined hooks
Auditing
Global Auditing
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
API extensions
J'aime 0
  • 2017-12-20 17:00:04
    2017-12-21 11:31:25
  • Produits
    English
  • Publique
    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