我有一个类使用所有子类都需要使用的方法。如何强制所有子类使用该方法?抛出接口?
编辑:我正在使用 php。我的意思是:我有一个名为 toLower() 的方法,我有一个数据库,其中所有列都是大写的,每次从数据库中获取对象时,我都需要使用 toLower() 方法将对象属性设为小写。我希望能够强制客户端用户在获取结果时使用该方法。
我有一个类使用所有子类都需要使用的方法。如何强制所有子类使用该方法?抛出接口?
编辑:我正在使用 php。我的意思是:我有一个名为 toLower() 的方法,我有一个数据库,其中所有列都是大写的,每次从数据库中获取对象时,我都需要使用 toLower() 方法将对象属性设为小写。我希望能够强制客户端用户在获取结果时使用该方法。
当您使用 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);
不确定如何回答剩余的问题部分。为了获得更好的答案,请更新您的问题并显示相关的代码位。