我正在寫幾個函數傳遞參數到函數中,但其中許多函數需要20-30個參數傳遞給函數。就本例而言,我只在下面的函數中包含代碼的相關部分。傳遞20+參數到一個函數
例如,我想參數傳遞到這樣的功能:
function shortexample($id, $name, $pass) {
$body = array(
'username' => "$name",
'password' => "$pass",
'campaign_id' => $id
);
}
哪裏預見問題,正在通過許多(20-50)變量到函數,而不是上面只有3,似乎如果我通過太多的論證,可能會有一個記憶問題,因此通過這麼多論證的效率非常低下。
所以我的實際問題是什麼是有效地將一個荒謬的數量的參數傳遞到PHP函數的最佳方法是什麼。
我不想問你們是否發佈完成的代碼,儘管我歡迎你可以提供的任何代碼片段,但是我真的想知道你們認爲最好的做法是通過極端數量的代碼參數轉換成函數。
更新/澄清: 更具體地,對於需要這麼多參數的目的,是因爲這些值所必需的API請求。我不是一遍又一遍地編寫相同的代碼,而是編寫一個函數,我可以根據需要調用API請求,但我需要將參數/變量傳遞到函數中,然後將它們放入數組中,這是然後與API請求一起發送。所有的值都是非常小的字符串或數字值。
傳遞20個參數肯定不會導致內存問題。雖然這是非常糟糕的風格。考慮傳遞一個(關聯)數組。 –
使用OOP或數組。 – deem
很難說你的具體情況,但總的來說,如果你需要這麼多的參數,這是一個糟糕的設計的標誌。也許有不同的結構。通常,這個問題可以通過使用類似於構建器模式的模式來解決,但是沒有足夠的信息來判斷這是否是這種情況。 – GolezTrol