3

GabordeMooijまたはRedBeanPHPの経験が豊富な人のページング。現在の命名規則ではアンダースコアを使用しています。Pascal/Camelケーシングを使用する場合は誰でも可能ですが、重要なのは一貫性であり、一貫性のある命名パターンに準拠するためにすべてをリファクタリングしたくないと思いますが、私たちに何ができるか見てみましょう。

矛盾しているのはこれらのステートメントだけです。誰かがこのルールを明確にすることができますか?

ここに画像の説明を入力してください

また、2つ以上の単語のプロパティも一般的であり、それらがすべて小文字である場合は醜いと思いませんか:date_addedまたはdateAdded?

4

2 に答える 2

5

RedBeanPHP は「アジャイル」なアプローチのために設計されています。データベースは RedBeanPHP によってオンザフライで作成されます。その間に、アプリケーションをコーディングし、ドメインについて顧客と話し合っています。

しかし、人為的な制限を課すことは決してありません。アンダースコアと大文字を使用できますが、RedBeanPHP は関係を取得/保存するためにいくつかの規則を使用していることを覚えておいてください: table_id と table1_table2 が最も重要なものです。

また、一部のデータベースと OS の組み合わせでは大文字と小文字が区別されないため、大文字のテーブル名を維持するのが非常に難しい場合があることにも注意してください。

RedBeanPHP 3.4 (現在はアルファ版) の時点で、無効なタイプ名で Bean を保存しようとすると、RedBeanPHP は例外をスローします。ただし、これは警告するためのものです。このチェックをオーバーライドするには、setStricTyping(false) を使用します。

例:

R::setStrictTyping(false);
$bean = R::dispense('postAddress');
$bean->housenumber = '1';
R::store($bean);
$bean = R::dispense('post_address');
$bean->house_number = '2';
R::store($bean);

これだけでうまくいきます。

これで状況が明確になることを願っています。時間ができ次第、ドキュメントをより具体的に更新します。この問題についてお知らせいただきありがとうございます。フォーラムでお気軽に質問してください: https://groups.google.com/forum/?fromgroups#!forum/redbeanorm

最初のメッセージはフォーラムで承認される必要があることに注意してください。しかし、スパムを遠ざける他の方法はありませんでした..

于 2012-12-15T19:21:08.957 に答える
1

以前のバージョンでは、プロパティ タイプでアンダースコアを使用できましたが、外部キーと競合する可能性があるため、推奨されませんでした。最新バージョンがそれを禁止しているのか、単に推奨していないのかはわかりません。ステートメントは矛盾していますが、アンダースコアを使用できると思いますが、お勧めしません。

以前のバージョンでは、すべての外部キーに名前が付けられ<TABLENAME>_id$bean->TABLENAME->TABLEPROPERTY

テーブル名は、アンダースコアを使用して多対多の関係でリンクされます<TABLE1>_<TABLE2>

redbean の最新バージョンは、できるという点で古いバージョンと同じであると確信しています****_id、プロパティとして持つか、アンダースコアを使用して 2 つのテーブル名を組み合わせると、複雑になる可能性があります。

私の知る限り、問題が発生する可能性があるのはこれらの 2 つのみです。タグやその他のプロパティについてはわかりません。

于 2012-12-15T03:07:43.680 に答える