Parametri di funzione
In PHP si è permesso di passare i parametri alle funzioni che configura normalmente la funzione di alterare il modo in cui risponderà.
Funzione predefinita parametri
Tuttavia ci sono diverse opzioni su come parametri di funzione vengono gestite in PHP. Il primo è quello di impostare un valore predefinito per un parametro nella dichiarazione della funzione che definisce un valore predefinito.
In PHP non c'è la possibilità di eseguire la funzione sovraccarico tuttavia questo può in qualche misura essere utilizzato per lo stesso effetto.
An example of Method overloading in C # / / Un esempio di overloading del metodo in C #
string username ) public void adduser (string username)
{
string username , GeneratePassword ( ) ) ; Adduser (string username, GeneratePassword ());
}
string username , string password ) vuoto Adduser pubblica (string username, string password)
{
string username , string password , " Default " , " User " ) ; Adduser (String username, password stringa, "Default", "Utente");
}
string username , string password , string firstname , string lastname ) public void adduser (string username, string password, firstname string, cognome string)
{
/ *
*
* /
}
An example of parameter defaults in PHP / / Un esempio di default dei parametri in PHP
AddUser ( $ username , $ password , $ firstname = " Default " , $ lastname = " User " ) Adduser funzione pubblica ($ username, $ password, $ cognome = "Default", $ lastname = "Utente")
{
/ *
*
* /
}
Come potete vedere non ho potuto aggiungere default come molti al metodo di come è stato fatto in C #. Questo perché quando un parametro predefinito viene definito solo valori costanti e quindi non variabili o funzioni possono essere utilizzati.
AddRole ( $ role = ' default ' , $ user_id ) Funzione addRole ($ ruolo = 'default', $ user_id)
{
/ *
*
* /
}
12 ) ; AddRole (12);
Pertanto quando la funzione di cui sopra si chiama il ruolo non viene specificato solo il $ unfortunatley user_id questo causerà un errore come il 12 sarà passato al parametro $ lasciando il ruolo non specificato $ user_id.
Inoltre i parametri della funzione con un valore predefinito dovrebbe sempre essere alla fine della lista parametro della funzione. Inoltre se si desidera specificare un parametro all'interno di diversi parametri in default i parametri che portano al parametro specificato deve essere provieded pure. Come si può vedere con il parametro $ role_type
AddRoleDetails ( $ role = ' default ' , $ user_id , $ description = ' Default details ' , $ role_type = ' Normal ' , $ role_admin = " Default " ) AddRoleDetails function ($ ruolo = 'default', $ user_id, $ descrizione = 'I dettagli di default', $ role_type = 'Normal', $ role_admin = "Default")
{
/ *
*
* /
}
' default ' , 12 , ' Default details ' , ' High ' ) ; AddRoleDetails ('default', 12, 'i dettagli di default', 'forte');
Funzioni con un numero variabile di parametri
Le funzioni possono essere passati in PHP un numero variabile di parametri
AddTemplate ( ) AddTemplate public function ()
{
args = func_get_args ( ) ; $ Args = func_get_args ();
}
Le func_get_args funzione () tutti i parametri passati ad una funzione per essere restituita come un array. A volte è si prevede un numero minimo di parametri da passare alla funzione e func_num_args () può essere utilizzato per garantire il giusto numero di parametri.
È possibile combinare liste di argomenti a lunghezza variabile con liste di argomenti impostati in modo ...
AddTemplate ( $ templateName ) public function AddTemplate ($ TemplateName)
{
params = func_get_args ( ) ; $ Params = func_get_args ();
}
Unfortunatley questo significa che è possibile accedere alla variabile $ TemplateName direttamente e attraverso $ params. E 'comunque meglio rimuovere $ TemplateName dalla lista dei parametri. In questo modo ...
AddTemplate ( $ templateName ) public function AddTemplate ($ TemplateName)
{
params = func_get_args ( ) ; $ Params = func_get_args ();
$ params [ 0 ] ) ; unset ($ params [0]);
}
Si noti che i parametri sono definiti nella matrice lista degli argomenti in ordine. Per questo motivo il valore di $ TemplateName è prima di qualsiasi altra variabile nella matrice.
AddTemplate ( ) AddTemplate public function ()
{
func_num_args ( ) < 1 ) if (func_num_args () <1)
{
Exception ( " You need to add more parameters to this function ! " ) ; throw new Exception ("È necessario aggiungere più parametri a questa funzione!");
}
args = func_get_args ( ) ; $ Args = func_get_args ();
}
È inoltre possibile ottenere un parametro di funzione in una particolare posizione nella lista degli argomenti utilizzando func_get_arg (). Basta passare un intero che indica la posizione di indice del parametro da utilizzare per la funzione e verrà restituito solo il valore.
" Chris " , " Sarah " , " Jane " ) ; AddPeople ("Chris", "Sarah", "Jane");
AddPeople ( ) Funzione AddPeople ()
{
func_get_arg ( 1 ) ; echo func_get_arg (1);
}
Così l'esempio precedente restituirà "Sarah".
Nessun commento è stato fornito.
Scritto da Dominic Skinner
Ultimo aggiornamento: 2011/10/25 16:00:38