gpt4 book ai didi

php - 在编写 PHP 代码时混合使用面向对象风格和过程风格是否可以接受?

转载 作者:可可西里 更新时间:2023-10-31 23:09:25 27 4
gpt4 key购买 nike

所以之前我一直习惯用procedural style来编码php,比如:

mysqli_connect

mysqli_prepare

现在我不小心开始把它们混在一起,我会做类似的事情:

mysqli_connect();

这是程序风格,然后是下一个命令:

$mysqli->prepare();

这是面向对象的风格。

我的代码仍然有效,但如果我在 php.net 显示示例时查看它,整个示例要么是面向对象的,要么是过程性的。所以我问我是否可以同时使用对象和过程 php 代码。提前致谢!

最佳答案

虽然您的编码方式完全取决于您的决定和独特的风格,但我想说,在决定是过程式、面向对象还是混合式时,有几个因素需要考虑。

程序规范 -

主要是,如果您在一个团队中,为其他人编写程序,或者遵循您自己的规范,请考虑是否已经做出选择。

可用性 -

让我们面对现实吧。有时最好的库可以在面向对象或过程中使用,但不能同时使用。在这种情况下,从一种样式进行更改将需要使用完全不同的库,或者您自己构建一个类或函数库。可用的库可以节省您的时间,唯一的补偿成本是主要面向对象的程序中的过程函数,反之亦然。

熟悉度-

与可用性类似,您可能更熟悉某个类或一组功能。虽然您可能有时间停下来学习新的类(class)模块以增加您的知识,但您可以通过使用您已经学习并经过全面测试的程序库来节省时间。因此,如果您正在处理时间轴,您可能希望使用更熟悉的库。但是,如果您正在研究和学习,那么您可能需要花时间阅读文档、安装和测试新的解决方案。

数据处理和速度-

另一个需要考虑的因素是您如何处理数据。如果数据在类中,则该类可能具有对数据进行操作的方法。在这种情况下,过程编程需要从类或对象中获取数据,对数据进行操作,然后更新对象。在我看来,更好的设计是将函数包含在对象中。

但是,如果您所有的数据处理都在类之外,那么使用函数可能会更快。如果您想使用类方法,则必须加载该类,并可能创建一个对象。即使是静态方法也可能比函数慢。因此,如果速度是一个考虑因素,例如在循环中,那么请考虑您的程序和 PHP 必须经过多少步骤才能到达函数、类或对象。

展望 future -

如果您想在过程式编程或面向对象编程之间做出选择,请尝试预测 future 最有用的是什么。我发现面向对象编程对于创建可重用代码非常有用。我发现过程式编程对于命令行代码以及组织和使用对象非常有用。这些可能会随着计算机科学的发展而保持不变,因此我之前所做的工作更有可能再次发挥作用。

相比之下,一些库和编程语言可能会鼓励一种风格。 PHP 支持这两种风格。但如果我的总体印象是准确的,那么 PHP 一直在朝着面向对象风格的方向发展。如果在 PHP 函数和对象之间进行选择,请查看函数是为哪个版本的 PHP 创建的。还要检查是否有任何程序功能已贬值或即将过时。如果是这样,请使用面向对象的方法,因为当不再支持这些过程函数时,这将使您的程序更有用。

希望这能提供一些注意事项。谢谢。

关于php - 在编写 PHP 代码时混合使用面向对象风格和过程风格是否可以接受?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16756002/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com