看板 PHP 關於我們 聯絡資訊
讓 client 傳入 associate array (key => value) 例: $params = get_client_params(); /* client 的參數沒照順序 array( 'not' => xxx, 'credit' => yyy, 'uid' => zzz, 'appid' => www ) */ // 現在來排好你要的順序 $ordered_params = array( $params['uid'], $params['credit'], $params['appid'], $params['not'] ); //再來就照你原本的 Code 呼叫即可 $class = new $module(); $response = @call_user_func_array(array(&$class, $method), $ordered_params); ※ 引述《knives ()》之銘言: : 我有一個API , 其他Client只需要傳入三個變數 : $module : 要呼叫的物件 : $method : 要使用的物件方法 : $params : 物件方法需要用到的參數 : 其中$params 是傳入一個json 格式的字串,再透過json_decode轉換成陣列 : 接著,我的API 就會用下面的語法去呼叫Client需要的資源 : $class = new $module(); : $response = @call_user_func_array(array(&$class, $method), $params); : 可是現在有個問題是,某物件有一個function update ($uid , $credits,$appid,$note) : 因為 Client在傳入參數$params的時候 : 似乎要按照 uid, credits, appid,note 這樣的順序 : 才能正確work : 不知道要怎麼改才能讓裡面的function 所使用的參數,能正確的對應到 : $params裡面的鍵值 : 謝謝回答 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 124.168.175.80
knives:問題是:我又不只一個function,傳的參數數量、順序又不一致 07/13 13:51
evernever:你應該有存哪些 $module & $methods 可以被呼叫吧 07/13 13:53
evernever:如果有, 存 method name的同時也存 param的順序 07/13 13:54
evernever:這樣就可以查每個method的排法&順序 07/13 13:54