Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di nourdine
    Registrato dal
    Nov 2005
    Messaggi
    1,130

    misurare il numero dei parametri attesi di una funzione

    ciao

    volevo sapere se ce un modo per sapere quanti sono i parametri che una certa funzione (anonima) si aspetta.

    una cosa del tipo:

    Codice PHP:
    $foo = function($a$b) {
       
    // bla bla bla
    }

    expected_params($foo); // 2 
    esiste qualche cosa come expected_params?

    grazie

  2. #2
    non fai prima ad usare func_num_args(), func_get_arg(), and func_get_args() nella funzione anonima e renderla non dipendente dai parametri passati, piuttosto che testare il numero di parametri che accetta?
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  3. #3
    Utente di HTML.it L'avatar di nourdine
    Registrato dal
    Nov 2005
    Messaggi
    1,130
    Originariamente inviato da Santino83_02
    non fai prima ad usare func_num_args(), func_get_arg(), and func_get_args() nella funzione anonima e renderla non dipendente dai parametri passati, piuttosto che testare il numero di parametri che accetta?
    no perche vorrei nascondere quegli orrori li dalla vista di chi usa le mie sublimi classi

    qualcun altro? mi sa che non c'e' pero' un modo ... booooooooo

  4. #4
    premesso che l'orrore lo associo alle funzioni anonime quando usate come "librerie", questo è il codice che ti serve:

    Codice PHP:

    $lambda 
    = function($a,$b){ echo $a." ".$b; };

    $rf = new ReflectionFunction($lambda);

    var_dump($rf->getParameters()); 
    se guardi il manuale per ReflectionFunction trovi tutto
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  5. #5
    Utente di HTML.it L'avatar di nourdine
    Registrato dal
    Nov 2005
    Messaggi
    1,130
    Originariamente inviato da Santino83_02
    premesso che l'orrore lo associo alle funzioni anonime quando usate come "librerie", questo è il codice che ti serve:

    Codice PHP:

    $lambda 
    = function($a,$b){ echo $a." ".$b; };

    $rf = new ReflectionFunction($lambda);

    var_dump($rf->getParameters()); 
    se guardi il manuale per ReflectionFunction trovi tutto
    bella li!

    grazie

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.