台灣最大程式設計社群網站
線上人數
1089
 
會員總數:246213
討論主題:189783
歡迎您免費加入會員
討論區列表 >> PHP >> 關於PHP類別內變動函式的問題
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
關於PHP類別內變動函式的問題
價值 : 20 QP  點閱數:1081 回應數:5
樓主

yang
門外漢
0 13
238 19
發送站內信

各位大大你們好....小弟有一個呼叫變動的參數函數的問題....我想建立一個MYSQL的類別....把大部分需要用到的函式寫在這個類別....類別內的函數主要是呼叫Mysqli類別的函式...並使用了Procedural style的寫法....主要是參考http://php.net/manual/en/mysqli-stmt.bind-param.php
但下面的例子....我會用到變動的參數....


若是外層沒有我自訂的函式....我可以依照範例來呼叫mysqli_stmt_bind_param($stmt, 'sssd', $code, $language, $official, $percent)....後面加入變動的參數....但是如果我想用要在多包一層...用我自訂的函式來呼叫他的話....請問我自訂的函式部分(紅色的部分)應該要如何寫呢....前面$stmt和$types的參數固定不變的....只有後面的參數式變動的....那我自訂函式的部分是寫這樣function bind_param($stmt, $types)還是寫成這樣呢function bind_param()?我有參考call_user_func_array的範例....我看得懂...但是也許我沒有完全理解吧....我不知道要如何套用在這裡.....還是說函式的部分其他的大大有更好的寫法呢....謝謝....

搜尋相關Tags的文章: [ PHP ] , [ 類別 ] , [ 變動參數 ] ,
本篇文章發表於2012-09-26 07:17
1樓
作者回應

yang
檢舉此回應
抱歉我不曉得要如何修改我上面的內容....我想要知道這一段函式應該要如何寫....然後使用自訂的函式用相同的方式來呼叫mysqli_stmt_bind_param這個函式....
function bind_param($stmt, $types) {
$args = func_get_args();
return call_user_func_array('mysqli_stmt_bind_param', $args);
//return mysqli_stmt_bind_param($stmt, $types);
}
本篇文章回覆於2012-09-26 07:25
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
回應

浩瀚星空
捐贈 VP 給 浩瀚星空 檢舉此回應


上面的方式就等於
mysqli_stmt_bind_param()

給你參考。
本篇文章回覆於2012-09-26 14:28
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
作者回應

yang
檢舉此回應
謝謝#2板大的回應....因為我是PHP的新手...還是不完全理解你的寫法....如果依照你的寫法(很像C++的寫法)...我把上面的函式改成

後面的$func_name()應該還是要傳入參數給他吧...變成$func_name($stmt, $types)這樣對吧....不然原始的函式mysqli_stmt_bind_param($stmt, $types,&$var1,[&var2])要如何得到參數呢....我這樣的理解對嗎?
那如果是這樣的話....我還是不知道要如何去寫....主因在於mysqli_stmt_bind_param($stmt, $types,&$var1,[&$var2])後面的參數是變動....$func_name()內要傳幾個參數....還是是要等到我外部呼叫bind_param()之後才知道的不是嗎?
如果我的理解有錯....請不吝惜指導....謝謝....
本篇文章回覆於2012-09-26 15:58
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
回應

皮皮快跑
檢舉此回應
我只有一句話送給你,如果你願意參考是最好。
「濫用類別不如不要用。」
本篇文章回覆於2012-09-27 13:57
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
最有價值解答

浩瀚星空
捐贈 VP 給 浩瀚星空 檢舉此回應
我只是提示給你,其它的你要自已實作實驗。寫個測試程式不難。
這些都是基礎的東西。

至於你說的參數不限定方式也是有的。期待你能從php手冊中找到。
本篇文章回覆於2012-10-03 13:59
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.