如何强制子类使用父类的方法

发布于 2025-01-06 17:29:16 字数 184 浏览 0 评论 0原文

我有一个类使用所有子类都需要使用的方法。如何强制所有子类使用该方法?抛出接口?

编辑:我正在使用 php。我的意思是这样的: 我有一个名为 toLower() 的方法,我有一个数据库,其中所有列都是大写的,每次从数据库中获取对象时,我都需要使用 toLower() 方法使对象属性变为小写。我希望能够强制客户端用户在获取结果时使用该方法。

I have a class that uses a method that needs to be used by all the child classes. How can I force all the child classes to use that method? Throw interfaces?

Edit: i am using php. What I mean is this:
I have a method called toLower(), i have a database where all the columns are uppercase and everytime I fetch an object from the database I need to use toLower() method to make the object properties lowercase. I want to be able to force the client user to use that method whenever he fetches a result.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

弥繁 2025-01-13 17:29:16

当您使用 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);

不确定如何回答剩余的问题部分。为了获得更好的答案,请更新您的问题并显示相关的代码位。

When you are using PDO to interface with the Database, you can use PDO::ATTR_CASE to force column names to a specific case specified by the PDO::CASE_* constants, e.g.

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

If you want to do that inside your mapping layer for some reason, simply use

on the returned rows before you map your columns to your objects:

$row = array_change_key_case($row, CASE_LOWER);

Not sure what to answer about your remaining question parts. For a better answer please update your question and show the related code bits.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文