'daki bir işlevin argüman sayısının dinamik olarak nasıl kontrol edileceğini, çalışma zamanında PHP'de bir metodun veya fonksiyonun sahip olduğu birçok parametreyi kontrol edebilirim.php
Ben aradığın
2
'daki bir işlevin argüman sayısının dinamik olarak nasıl kontrol edileceğini, çalışma zamanında PHP'de bir metodun veya fonksiyonun sahip olduğu birçok parametreyi kontrol edebilirim.php
Ben aradığın
2
olmak
get_func_arg_number ("foo", "bar")
ve sonuç gibi bir şey çalıştırmak için bir yol olup olmadığını bilmek gerekir
class foo { function bar (arg1, arg2){ ..... } }
örnek PHP5'teki yansıtma yetenekleri - belgeler here.
Özellikle, ReflectionFunction ve ReflcetionMethod sınıflarına bakın.
Sana Bunu geride kalan reflection kullanmak gerekir
) (func_num_args arıyoruz inanıyoruz.
$method = new ReflectionMethod('foo', 'bar');
$num = $method->getNumberOfParameters();
ayrıca bkz. ['GetNumberOfRequiredParameters()'] (http://php.net/manual/en/reflectionfunctionabstract.getnumberofrequiredparameters.php) –
Yansıma Bu fonksiyonların içindeki kullanım içindir
class foo {
function bar ($arg1, $arg2){
}
}
$ReflectionFoo = new ReflectionClass('foo');
echo $ReflectionFoo->getMethod('bar')->getNumberOfParameters();
sayılı Bundan sonra ne konum olduğunu ve içinde bulunduğunuz işleve geçirildi kaç argüman söylüyor. Dönecektir – gnud
Bunu çağırdığınızda işleve iletilen argüman sayısı. OP, fonksiyon imzasında farklı olabilecek argüman sayısını arar. –