2012-02-17 66 views
-2

我有一個類使用了需要由所有子類使用的方法。我如何強制所有的孩子班級使用這種方法?拋出接口?如何強制子類使用父類中的方法

編輯:我使用PHP。我的意思是這樣的: 我有一個名爲toLower()的方法,我有一個數據庫,其中所有的列都是大寫的,每次我從數據庫中獲取一個對象時,我需要使用toLower()方法使對象屬性小寫。我希望能夠強制客戶端用戶在獲取結果時使用該方法。

+1

你是什麼意思的「武力」?孩子們的班級不能重寫某種方法嗎? – Mithrandir 2012-02-17 10:23:03

+1

你是什麼意思的投擲界面? – wintersolutions 2012-02-17 10:23:30

+0

你在用什麼語言? – penartur 2012-02-17 10:23:30

回答

0

當您使用PDO與數據庫交互時,可以使用PDO::ATTR_CASE將列名強制爲由PDO::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); 

不知道該怎麼回答你剩下的問題部分。爲了得到更好的答案,請更新您的問題並顯示相關的代碼位。