2012-02-17 9 views
-2

すべての子クラスで使用する必要があるメソッドを使用するクラスがあります。すべての子クラスがそのメソッドを使用するように強制するにはどうすればよいですか?インターフェースを投げる?子クラスが親クラスのメソッドを使用するようにする方法

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

+1

「力」とはどういう意味ですか?子クラスは特定のメソッドをオーバーライドできないようにする必要がありますか? – Mithrandir

+1

スローインターフェイスとはどういう意味ですか? – wintersolutions

+0

あなたはどの言語を使用していますか? – penartur

答えて

0

データベースとのインターフェイスにPDOを使用している場合、PDO::ATTR_CASEを使用して、列名をPDO::CASE_*定数で指定された特定のケースに強制することができます。あなたには、いくつかの理由のためのあなたのマッピング層の内側に、単に

  • array_change_key_caseを使用することを行いたい場合は

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

    は - 小文字や大文字入力からすべてのキーを持つ配列を返します。返される行の

は、あなたのオブジェクトにあなたの列をマップする前に:

$row = array_change_key_case($row, CASE_LOWER); 

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

関連する問題