PHP动态方法链接

时间:2015-11-04 20:16:59

标签: php loops methods chaining

如何在不知道有多少方法的情况下将多个方法链接在一起?例如,如何像循环一样多次调用此addMultiLink方法?

(new EntryField('products'))->addMultiLink($product_ids[0])

基本上我希望结果是这样的:

(new EntryField('products'))->addMultiLink($product_ids[0])->addMultiLink($product_ids[1])->addMultiLink($product_ids[2])

2 个答案:

答案 0 :(得分:1)

addMultiLink返回$this

public function addMultiLink($argument) 
{
    // your code here

    return $this;
}

但是我可以看到你在每个调用的函数中传递数组元素。 也许最好重写addMultiLink并将其视为数组?或者检查它是否是数组或某个整数值:

public function addMultiLink($argument) 
{
    if (is_array($argument)) {
        // do a foreach loop for example
    } else {
        // do something else
    }
}

答案 1 :(得分:0)

$(function(){
    $('input[type=text]').prop('autocomplete','off');

    $('#formid').on('submit', function(e){
        $('input[type=text]').removeProp('autocomplete');
    });
});