PHP OOP - 通过实施有关对象
即时学习PHP的面向对象编程,我有一个很大的问题,也许你会认为微不足道,但对我来说其杀死我PHP OOP - 通过实施有关对象
的事情是,比如我有一个类中的邮件构造函数我把标题,信息,发件人,接收器,时间等,所以当有人进入消息的页面我只是简单地创建消息对象,但问题是
如果我必须列出所有的消息应该我为例如创建一个方法listmessages,或者我应该为每条消息创建大量的消息对象?
thx为你的时间
在这种情况下,你确实会为每条消息创建对象。该列表可以是数组的数组或对象封装。
如果您有许多许多消息,您可以决定只加载几条消息,或创建一个更紧凑的数据列表和一个Flyweight Design Pattern
的实现来模拟单独的消息对象,而实际上只有一个紧凑块数据。
但这是复杂的解决方案,你现在可能不需要,所以你不应该担心他们。只需为每条消息创建一个消息对象实例并将它们放入您选择的列表中。
ok thx答案 – user983124
使用面向对象编程,类是对象,就像消息是对象一样。所以我会发现创建一个Message()类对象是最合乎逻辑的,并为每个消息创建一个新的实例。
认为它就像你收到一封信时一样。这封信将会像“class letter”一样,并且会包含“sender”,“return address”,“address”,“recipient”,“message_body”,“date_sent”等属性。它不会如果将多个字母(即多个发件人,收件人和邮件正文)全部打包在一个对象中,这是否有意义?每个字母都将是它自己的对象,并拥有自己的属性。
所以在你的情况下,你会为每个你得到的消息创建一个Message对象/类的新实例。根据消息的存储/访问方式,制作所有对象的方式有所不同。例如,如果将所有消息存储在数据库或本地文件存储中,则可以创建一个新方法,如“getMessages()”,该方法将自动提取所有消息并创建一个包含所有对象实例的数组方便访问。
+1好比喻 – GolezTrol
没有人可以回答,因为它确实取决于用例;) – str
我可以。我做到了。 :)总是有例外。但是当你学习时,你会学习并遵守规则,所以你以后可以决定是否需要打破它们。 :) – GolezTrol
但是这样一个模糊的问题没有对或错;) – str