【发布时间】:2015-11-05 14:00:01
【问题描述】:
我最近开始学习 PHP 中 OOP 的基础知识。
我对很多概念都很陌生。
在传统的程序化做事方式中,如果我有重复的任务,我会编写一个函数并每次调用它。
因为这似乎是经常发生的事情,所以我创建了一个包含 5-10 个函数的小型库,我将其包含在我的程序项目中并使用了。
在 OOP 中,使用函数并让所有对象都可以访问它们的有效方式是什么?
为了让事情更接近真实世界,我创建了一个缩略图类,它以图像文件名作为参数并可以对其执行一些操作。
在过程编程中。当我有一个创建缩略图的功能时,我还有一个创建随机 md5 字符串的功能,检查给定文件夹是否存在所述字符串,如果存在则重复,这样我就可以在保存之前为我的缩略图生成一个唯一的名称。
但如果我想为另一个目的生成另一个唯一名称,比如保存一个文本文件,我可以再次调用该函数。
那么,长话短说,让我的应用程序中的所有对象都可以访问 randomise_and_check($filename) 方法(以及我的库中的所有其他方法)的有效 OOP 方法是什么?
【问题讨论】:
-
虽然我能理解你提出问题的原因,但目前的答案让我想开始一场关于是否应该使用
static方法的宗教书呆子战争。关于依赖注入和静态方法的整个争论只是渴望爆发。因此,我认为您的问题可能会“征求意见、辩论、论据、投票或扩展讨论”,并且可能比programmers.stackexchange.com 更好。 -
这与我的实际意图相去甚远。毕竟,我怎么知道我的问题的答案是有争议的,因为我在问,因此不知道答案是什么?
-
@rdlowrey:哈哈!让游戏开始。众所周知,有 100 种方法可以给众所周知的猫剥皮,通过让他接触几个不同的选项,他可以选择他觉得最舒服的选项和 git
rdone。 -
你的问题没有错。只是我不认为有一个普遍接受的正确答案——只是不同程度的好或坏答案。这是一个好问题,,但我认为 SO 不是适合它的论坛。其他人可能不同意我的观点,这也很好。在这一点上,有一些高质量的答案,所以无论如何它都非常有用。