看板 PHP 關於我們 聯絡資訊
※ 引述《tkdmaf (皮皮快跑)》之銘言: : 如果僅是因為你的需求在於要單純化單一功能的執行方法。 : 這是我覺得可行的做法。 : 只是說實在的,光是看你那樣的概念性想法我還不是很清楚你是要做什麼。 : 何況,如果物件的方法內容是能在外部被隨時抽換的話。 : 我不知道還要寫物件幹嘛。 : 你已經在內部抽換你所想要的方法,但不應該想說從外部定義他。 : 但事實上能不能外部抽換?當然行。 : 可是你抽換的也只是函式內的承載物件,而非本身的程式碼。 感謝! 其實有時也就是寫到後來想追求一種更方便更精簡的方法。 然後忘了是不是失了用物件的意義 我試著用俱體一點來形容這個物件的需求 == 物件 == class stastic{ private $date_range; public $score_data; public $user_data; public $team_data; public function __construct($date_range){ $this->date_range = $date_range; self::getBaseData(); self::analyticData(); } private function getBaseData(){ 從資料庫撈出使用者個人資料 存入$user_data 再依分組規則存入 $team_data[$team_id]陣列中 } private function analyticData(){ 把成績資料做統計分別把加總資料放入 $team_data } public function best($team_id,$subject){ 把各組的成績依$team_data->$subject做排序 傳回第一名的資料 } } // 主程式 $stastic = new stastic(7) $teams = $stastic->team_data; // 取得資料丟給view去列出 foreach($teams as $team_id=>$data){ echo $data->name // 組名 echo $data->score // 成績 echo $data->best($team_id,'math')->name // 取得分組數學第一的人 原本這裡的best我是想在 getBaseData時就把資料丟給他。 可是成績還沒統計出來,所以無法指定值。 所以在思考能不能指定個函數, => 在getBaseData()裡將$team_data加上個$team_data->best()。 等統計完畢時或是要輸出時再行呼叫best()這個函式 } 還是其實這個想法已經陷入了為了方便而兜圈子的迷思裡? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.116.202.164 ※ 編輯: JYHuang 來自: 140.116.202.164 (06/14 11:00)
kuAIpAI:我最近在寫物件方面工具 會覺得只要跟資料庫有關的 06/14 12:05
kuAIpAI:我就完全不會想重新用 物件去進行重包~ 06/14 12:05
kuAIpAI:就只有一些基準 或者一些常用的 例如 寄信 檢查這類的 06/14 12:06
kuAIpAI:我才會進行工具製作~ 不然會失去彈性 06/14 12:06
JYHuang:因為資料庫規劃的問題,使得我不得不用程式計算成績 06/14 13:34