Ok, inspiré en partie par Model Validation de CakePHP, j'ai créé un projet qui utilise un fichier de schéma de base de données séparé. Je n'ai pas aimé que dans CakePHP le fichier modèle et le schéma-db soient combinés dans le même fichier php. J'aime les avoir séparés. Toutes mes mises à jour, insertions et suppressions sql sont d'abord passées par ce schéma. J'ai écrit des fonctions update() insert() delete() pour effectuer cette validation automatiquement.Quelqu'un d'autre utilisant DB-Schema-Validation pour les projets MVC?
Pourquoi? Parce que je peux accepter un message d'un visiteur et envoyer les données non vérifiées à ma base de données sans avoir à le vérifier. Mon schéma filtre pour les violations innocentes et pas si innocentes.
Voici un exemple d'un schéma de base de données:
<?php
$schemas = array('database_name_hidden'=>array(
'assigned_weeks'=>array(
'id'=>array('id'),
'user_id'=>array('foreign_id','users'),
'week_number'=>array('posint'),
'year'=>array('posint'),
'unit_id'=>array('foreign_id','units'),
'claim_listing'=>array('posint'),
'created'=>array('created'),
'modified'=>array('modified'),
'resort_id'=>array('foreign_id','resorts','required'),
),
'trade_listings'=>array(
'id'=>array('id'),
'assigned_week_id'=>array('foreign_id', 'assigned_weeks','required'),
'listing_assigned_week_id'=>array('foreign_id', 'assigned_weeks'),
'opposite_id'=>array('numeric'),
'listed'=>array('bool'),
'prev_id'=>array('foreign_id','trade_listings'),
'next_id'=>array('foreign_id','trade_listings'),
'listing_email'=>array('email'),
'listing_description'=>array('text'),
'trade_confirmation_number'=>array('text'),
'external_resort_id'=>array('foreign_id','resorts'),
'external_unit_number'=>array('text','size'=>array(1,6)),
'external_start_time'=>array('time_future',),
'external_end_time'=>array('time_future'),
'admin_comment'=>array('text'),
'comment'=>array('text'),
'created'=>array('created'),
'creator'=>array('creator'),
'modified'=>array('modified'),
'modifier'=>array('modifier'),
'resort_id'=>array('foreign_id','resorts','required'),
),
);
?>
Toute personne faisant autre chose comme ça?
voulez-vous regarder que ... La doctrine est très semblable à ce que j'ai écrit. Merci pour l'information. – anarkhos