PHP: fonksiyonu: İzin X parametreler daha fazla

0 Cevap

Böyle bir sınıf (bu soyut bir örnektir) var:

class Example(){
    function test($param1,$param2,$param3=NULL){ //param3 is optional
        //stuff
    }
}

Bu fonksiyon (URL, / örnek / test / a / b / Örnek :: Test (a, b) arayacak) denir ve dinamik

if(is_callable(array($class, $funcname)))
   call_user_func_array(array($class, $funcname),$params);

/ Örneği / test / nedeniyle eksik parametreleri, izin verilmez (404 dönecektir)

/ Örneği / test / a / de izin verilmez

$ Param3 isteğe beri / örneği / test / a / b / izin

/ Örneği / test / a / b / c / izin

ANCAK:

PHP sadece 4 ve parametreleri göz ardı çünkü / örneği / test / a / b / c / d / da, işlevini çağırır.

Fonksiyon denir ve dinamik beri komut işlevi çağırmadan önce izin kaç parametre bilmiyor. Ama ben çok fazla parametre varsa, bir 404 hatası döndürmek için komut dosyası gerekir. Ben max bulmak için bir yol bulamadı. aslında işlevi çağırmadan önce parametrelerin miktarı.

Bu bir çalışır:

    function test($param1,$param2,$param3=NULL,$error=NULL){ //param3 is optional;
        if(isset($error))$this->getErrorController()->notFoundHandler(); //will throw a 404 if $error is set and stop the script.
        //stuff
    }

Bunu yapmak için daha iyi bir yolu var mı?

0 Cevap