我需要經驗豐富的開發人員對此提供建議。讓我直接進入它。用於演示文檔的php類結構
我有用戶發表文章,我需要顯示文章列表並顯示發佈他們的用戶。
在我CURENT precedural其方法是這樣的:
$result = mysql_getresult("SELECT users.*, articles.*
FROM users JOIN articles ON users.id = articles.user_id
WHERE 1");
while($row = mysql_getrow($result)) {
display_username($row);
display_articletitle($row);
}
現在我想用OO做OO方法
class User {
protected $data;
public function loadUserData($id) { $this->data = mysql_readstuff() }
public function displayUserName() { echo $this->data['name'] }
}
class Article {
protected $data;
public function loadArticleData($id) { $this->data = mysql_readstuff() }
public function displayArticleTitle() { echo $this->data['title'] }
}
問題:
1)這些類具有他們自己的方法加載他們自己的數據(和其他許多方法),所以快速mysql查詢一次獲取所有數據與JOIN在這裏並不真正起作用。加載他們自己的數據對於許多其他方法(例如認證)來說很好。
2.)我想分開演示文稿(使用savant3 templater),所以我應該把顯示方法放在哪裏?我需要展示許多東西(工作,評論等),我不認爲在templater中爲他們每個人製作一個方法是一個好主意。
這個例子是與用戶和文章,但我會有用戶+評論,用戶+工作+要求。
我想讓顯示方法是靜態的,並讓它們取一個參數,但後來它與程序方法沒什麼兩樣。或者創建一個setData($ row)方法,將$ data設置爲它獲得的參數。
這個問題可能有一個共同的解決方案。
任何意見表示讚賞。
謝謝 Skaccer
謝謝!我會考慮一下(我自己的項目),然後回覆你。我需要能夠處理分頁結果,排序結果,全文搜索和非全文搜索結果的內容,並且很快將獅身人面像添加爲搜索引擎。它也需要計算結果。 [這裏是當前頁面的鏈接](http://www.networkdance.com/dance-ballet-auditions) - 點擊右側的「詳細搜索」。它需要發生在多個頁面上...... – Skaccer 2011-05-26 12:37:14