私はCakePHPのモデルバリデーションによって部分的に触発されましたが、別のデータベーススキーマファイルを使用するプロジェクトを作成しました。私はCakePHPでモデルファイルとdbスキーマが同じPHPファイルで結合されていることを気に入らなかった。私は彼らを別々にするのが好きです。MVCプロジェクトにDBスキーマ検証を使用する人は誰ですか?
このスキーマでは、すべてのSQLの更新、挿入、および削除が最初に渡されます。この検証を自動的に行うupdate()insert()delete()関数を書きました。
なぜですか?なぜなら私は訪問者からの投稿を受け入れ、チェックしなくてもチェックされていないデータを自分のデータベースに送るからです。私のスキーマは無害で無邪気でない違反のフィルタリングを行います。ここで
は、データベース・スキーマの例です。このような何かをやって、他の
<?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'),
),
);
?>
誰ですか?
ドクトリンは私が書いたものと非常に似ています。ヘッドアップをありがとう。 – anarkhos