我知道可以使用call_user_func_array()调用一个带有可变数量参数的函数 - > http://php.net/manual/en/function.call-user-func-array.php.我想要做的几乎是相同的,但我想要在它的构造函数中调用一个带有可变数量参数的PHP类,而不是函数.
它会像下面这样工作,但我不知道参数的数量,所以我不知道如何实例化该类.
Run Code Online (Sandbox Code Playgroud)<?php //The class name will be pulled dynamically from another source $myClass = '\Some\Dynamically\Generated\Class'; //The parameters will also be pulled from another source, for simplicity I //have used two parameters. There could be 0, 1, 2, N, ... parameters $myParameters = array ('dynamicparam1', 'dynamicparam2'); //The instantiated class needs to be called with 0, 1, 2, N, ... parameters //not just two parameters. $myClassInstance = new $myClass($myParameters[0], $myParameters[1]);
所以我在javascript中添加和减去浮点数,我需要知道如何始终取任何小数超过3位数的数字的上限.例如:
3.19 = 3.19
3.191 = 3.20
3.00000001 = 3.01
我想动态调用自定义类的方法,就像下面的javascript一样.除此之外,下面的javascript只调用我的代码中存在的函数.我想调用(动态)类的功能.所以我会删除window{value](target, event, self);
并使用其他可以调用自定义创建类的方法的东西,例如"mycustomclass.anythingcouldbethismethod(target,event,self);" 当然,它已被实例化.
var functions = [
'ajaxify_overlay',
'ajaxify_overlayCancel',
'ajaxify_overlaySubmit',
'ajaxify_rollout',
'ajaxify_rolloutCancel',
'ajaxify_rolloutSubmit',
'ajaxify_upload',
'ajaxify_contentArea',
'ajaxify_itemToggler',
'ajaxify_closer',
'ajaxify_submit',
'ajaxify_inputActivate',
'ajaxify_executeAndRefresh',
'ajaxify_empty'
];
$(document).bind('ready', function(event) {
$('body').live('click', function (event){
var target = $(event.target);
var self = this;
$.each(functions, function(index, value){
if($(target).hasClass(value)) {
window[value](target, event, self);
}
});
});
});
Run Code Online (Sandbox Code Playgroud)