gpt4 book ai didi

php - 什么应该是 php 中类的实例?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:42:22 24 4
gpt4 key购买 nike

在 PHP 5.2.x、mySQL 5.x 中

我在思考什么应该和不应该是 php 类的实例时遇到了一些问题,因为一旦页面呈现,它们就不会持久存在。

假设我有一个评论列表。对我来说,每个评论都是它自己的对象是有道理的,因为我可以对它们调用操作,并且它们拥有属性。如果我用另一种语言(具有持久状态并可以与之交互的语言)来执行此操作,我会那样做。

但这似乎很浪费,因为这样做我有一个调用 new() 的循环,这可能意味着我需要为每个实例访问数据库(也很糟糕)。

但也许我遗漏了什么。

Php 在我对类和对象的看法上似乎有所不同。什么时候应该是类实例,什么时候不是?

最佳答案

这是一个主观问题,所以我会尝试连贯地收集我的想法:

持久性在 PHP 中具有不同的含义。您认为每个评论都应该是一个对象,因为评论具有可以对其执行的操作,这似乎是正确的。对象不会在页面加载期间持续存在这一事实并不真正相关。在 PHP 中,在一个脚本中使用一个对象并不少见,该对象在脚本完成时被销毁,然后在后续页面加载时重新实例化它。

面向对象编程提供(除其他外)代码组织和代码重用。即使一个对象在脚本执行期间只真正使用一次,如果定义它的类有助于程序组织,那么您这样做是对的。

您通常不必担心资源浪费,直到它开始成为一个问题;如果您的服务器经常负担过重,以至于降低您的用户体验或限制您的扩展,那么是时候进行优化了。

附录:

为评论定义类的另一个原因是,这样做可以在以后需要扩展类时带来好处。假设您决定实现评论回复之类的功能。回复本身只是一条评论,但包含关于它所引用的评论的一些额外属性。您可以扩展 Comment 对象以添加这些属性和附加功能。

关于php - 什么应该是 php 中类的实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9049025/

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