-2

すべての子クラスで使用する必要があるメソッドを使用するクラスがあります。すべての子クラスにそのメソッドを使用させるにはどうすればよいですか? インターフェイスをスローしますか?

編集:私はphpを使用しています。つまり、toLower() というメソッドがあり、すべての列が大文字のデータベースがあり、データベースからオブジェクトをフェッチするたびに toLower() メソッドを使用してオブジェクトのプロパティを小文字にする必要があります。クライアントユーザーが結果を取得するたびにそのメソッドを使用するように強制できるようにしたいと考えています。

4

1 に答える 1

0

データベースとのインターフェースに PDO を使用している場合、 を使用して、列名を定数でPDO::ATTR_CASE指定された特定のケースに強制することができます。PDO::CASE_*

$db = new PDO('mysql:host=localhost;dbname=test', $user, $pass, array(
    PDO::ATTR_CASE => PDO::CASE_LOWER
));

何らかの理由でマッピングレイヤー内でそれを行いたい場合は、単に使用します

  • array_change_key_case— 入力のすべてのキーを小文字または大文字にした配列を返します。

列をオブジェクトにマップする前に、返された行について:

$row = array_change_key_case($row, CASE_LOWER);

残りの質問部分について何を答えればよいかわかりません。より良い回答を得るには、質問を更新し、関連するコード ビットを表示してください。

于 2012-02-17T10:43:35.713 に答える