2011-08-06 14 views
2

任務是在我們的網站上添加新聞。幫助選擇代碼結構來製作NewsHandler類

我想爲這個任務做一個php類。這個類應該可以做這樣的事情:

  1. 添加新聞
  2. 編輯新聞
  3. 刪除新聞
  4. 顯示確切的消息
  5. 新聞
  6. 獲取列表

新聞可3種類型:地方新聞(現場登記的組織的新聞),全球新聞(添加網站的管理的新聞)和股票(組織的熱賣)

幫助爲這樣的任務選擇正確的類結構。 我認爲,它可以是一個靜態類,例如NewsHandler有靜態方法:

  • 添加($ type_news,$標題,$公告,$內容,$圖片)

    (方法將返回ID的消息

  • 編輯($ ID,$ NEW_TITLE,$ new_announcement,$ NEW_CONTENT,$ new_picture)
  • 刪除($ ID)
  • 顯示($ ID)
  • GETALL($ type_news)(方法將返回ID「的消息S的列表)

這是非常簡單的方法。這是錯的嗎?可能我應該做更大的班級結構 - 繼承?例如:

  • 靜態類NewsHandler
  • 新聞(即產生消息實例)
  • LocalNewsGlobalNews庫存(從新聞延伸)

如果是這樣,我不知道他們每個人應該有哪些方法

+0

我覺得你需要的不僅僅是一個班級,或者至少你應該,而且這個班級只會是我的文章中所有這些班級 – regilero

+0

作爲示例#2的API。有近似方案,但如何分配這些類的方法? –

回答

1

我會說,很簡單地說,這將是一個好的設置。但是,正如評論中指出的那樣,您可能需要的不僅僅是這些類。面向對象是非常自上而下的思想,你首先必須監督你將要做的所有事情。例如,新聞可能必須存儲在數據庫中。所以:數據庫類。你可能想要使用某種驗證,例如。驗證類。然後就是渲染這些東西。拋出一些課程,模板,格式等。
正如你所看到的,你的新聞課程將使用所有這些其他課程。所以,從新聞的角度來看,你的設置看起來沒問題,但它周圍肯定會有更多。這就是爲什麼你的問題沒有明確和簡單的答案。

+0

感謝您的回答。是的,現在,經過一些小的經驗我明白這一點 - OOP方法需要更多的類比它似乎=) –