Ada*_*yer 5 php oop class instance
在PHP 5.2.x中,mySQL 5.x
我有一个问题包围我应该和不应该是PHP中的一个类的实例,因为它们在呈现页面后不是持久的.
说我有一个评论列表.对我来说,每个评论都是它自己的对象是有道理的,因为我可以对它们调用动作,并且它们拥有属性.如果我用另一种语言(一种具有持久状态且可以与之交互的语言)这样做,我会这样做.
但这似乎很浪费,因为要做到这一点,我有一个调用new()的循环,这可能意味着我需要为每个实例访问数据库(也很糟糕).
但也许我错过了一些东西.
Php在我对类和对象的看法上似乎有所不同.什么时候应该是一个类实例,什么时候不是?
这是一个主观问题,所以我会尝试连贯地收集我的想法:
PHP 中的持久性具有不同的含义。您认为每个评论都应该是一个对象,因为评论具有可以对其执行的操作,这似乎是正确的。对象不会在页面加载过程中持续存在这一事实并不真正相关。在 PHP 中,在一个脚本中使用对象的情况并不罕见,该对象会在脚本完成时被销毁,然后在后续页面加载时重新实例化它。
面向对象编程提供了(除其他外)代码组织和代码重用。即使一个对象在脚本执行期间只真正使用一次,如果定义它的类有助于程序组织,那么您这样做是正确的。
通常,您不必担心资源浪费,直到它开始成为问题为止;如果您的服务器不断受到负担,从而降低了您的用户体验或限制了您的扩展,那么是时候进行优化了。
为您的评论定义类别的另一个原因是,当您需要扩展该类别时,这样做可以带来好处。假设您决定实现评论回复之类的功能。回复本身只是一条评论,但包含有关它所引用的评论的一些额外属性。您可以扩展该Comment
对象以添加这些属性和附加功能。