2005年11月9日 星期三

在摘要頁面顯示的公告 Part 2

摘要頁面首頁的顯示,是由 summarydefaultaction.class.php 這個檔案裡的 SummaryDefaultAction 類別控制,只要在這個類別裡加上一些程式碼取得最新消息文章的物件陣列,並傳給樣版,就可以在樣版裡加以運用。

另外,為了不讓太多的最新消息「滿」出來,得對顯示的最新消息文章數加以限制。那想看「舊的」最新消息時,要提供一個連結到網站管理者 blog 的最新消息文章分類頁面。參考一般樣版的寫法,我們得將這個最新消息文章分類的物件傳給樣版。

修改別人的程式,尤其是一個仍在開發維護中的專案,最忌諱從底層修改原始碼,能有現成的 API 可以用,就儘量使用現成的 API 。除非現成的 API 不能滿足需求,才另外開發副程式使用。為什麼?使用現成的 API 有以下的好處:

  1. 程式碼的再利用,節省開發時間。 現成的副程式可以做到的,何不好好利用,省時省力。有一句話說:「站在巨人的肩膀上可以看的更遠。」不是嗎?
  2. 確保未來程式升級的相容性。 例如 LifeType 從 0.32 版升級至 1.0 版時,將資料庫的格式修改了。如果當初自己增修功能時,是直接讀取資料庫,那在升級時,勢必將自己增修功能的程式碼完全翻修一次。但是,如果使用 LifeType 的 API 來做的話,那麼,基本上是不必再修改程式碼的。

當然,讀一個像 LifeType 這樣大的專案的 API 文件是一件蠻痛苦的事。(其實我不會這麼覺得耶)但是,只要遇過一升級就要重新改寫程式的人就能體會到善用專案原生 API 是一件快樂的事。

Mark 替我們準備好了 LifeType 1.0 的線上 APIs 網站 (網址在最近應該會改變,要注意。)讓我們善加利用。如果覺得網站速度太慢,可以到自由軟體鑄造廠的 LifeType 專案下載區下載回自己的電腦使用。我在敝校的 blog 站也放了一份,學術網的使用者用起來速度應該會快多了,歡迎利用。(更新!搬家到 blogger ,不再提供了。)

廢話太多,接下來說明會用到的 API 吧!

待續…

沒有留言:

張貼留言