0

我有一个源代码,但我有一个问题。

你可以在这里找到源代码:http: //pastebin.com/6JHkTFEv

错误在这里:http: //i.imgur.com/V4pPZkI.png

为什么总是给我这个错误信息?

问题出在这一行中:

public function upload_sms_data( $sms_id, $prefix, $uzenet, $telefonszam, $kategoria, $ip_address = $this->get_client_ip()) {

程序由最后一个参数停止:$ip_address = $this->get_client_ip()

我可以为方法的方法提供默认参数吗?

4

3 回答 3

0

您可以提供默认值,但不能提供需要运行时计算或执行的默认值,例如函数调用的结果

public function upload_sms_data( $sms_id, $prefix, $uzenet, $telefonszam, $kategoria, $ip_address = NULL ) { 
    if ($ip_address === NULL) {
        $ip_address = $this->get_client_ip();
    }
于 2013-02-25T18:08:14.230 回答
0

您不能将参数的默认值设置为函数调用的结果。它必须是一个值。

于 2013-02-25T18:06:10.097 回答
0

不,你不能那样做。最好的办法是null作为默认值,然后在方法内部,如果该参数为空,则使用 getter。

upload_sms_data( $sms_id, $prefix, $uzenet, $telefonszam, $kategoria, $ip_address = null ) { 
   $ip_address = $ip_address === null ? $this->get_client_ip() : $ip_address;
}
于 2013-02-25T18:06:29.563 回答