In mod general, o functie se creaza cu sintaxa:
function nume_functie(parametri) {
// Instructiuni
}
- Datele din parametri pot fi de diferite tipuri: numere, siruri, matrice (Array) sau chiar un obiect intreg. Pentru a verifica tipul de date primit la parametri, se pot folosi functii PHP specifice, de tip "is_", precum: is_string(), is_array(), is_object(), etc.
Pentru object si array exista si o alta varianta, specificarea tipului de date permis o data cu parametru, cu formula:
function nume_functie(NumeClasa $parametru) { }
Sau pt. Array
function nume_functie(array $parametru1, array $parametru2, ...) { }
<?php // Definire clasa AClas class AClas { public function aMet() { return 'Metoda clasa AClas'; } } // Functie definita sa accepte doar instante de obiect ale clasei AClas (si sub-clase ale ei) function fCls(AClas $objPar) { echo $objPar->aMet(). '<br />'; } // Functie definita sa accepte doar date de tip Array function fArr(array $arrPar1, array $arrPar2) { print_r($arrPar1); echo '<br />'; print_r( $arrPar2); } // Creare instanta de obiect la clasa AClas $obj = new AClas(); fCls($obj); // Apeleaza functia cu aceast obiect // Definire variabile de tip Array si apelare cu ele functia fArr() $arr1 = array('php', 'mysql', 'marplo.net'); $arr2 = array('cursuri', 'tutoriale'); fArr($arr1, $arr2); ?>- Parametru $objPar al functiei fCls() reprezinta o instanta de obiect la clasa AClas, astfel, prin el pot fi apelate metode si parametri din aceasta clasa.
Pe langa parametri object si array special definiti pot fi adaugati si parametri simpli.
De ex.:
function Functie(array $arr, $p2, $p3) { }
Aceasta formula, cu specificarea tipului de parametri permisi (obiect la o anume Clasa sau array), poate fi utilizata si la metodele din clase, care sunt tot functii.
De exemplu, metoda "bObj()" din exemplu urmator accepta ca argument doar instante de obiect ale clasei AClas si prin acesta poate apela metoda "aMet()" din clasa AClas, iar metoda "bArr()" accepta doar date de tip Array.
<?php // Definire clasa AClas class AClas { public function aMet() { return 'Metoda clasa AClas'; } } // Definire clasa BClas class BClas { // Metoda definita sa accepte la parametru $obj_par doar elemente ce apartin unui obiect de clasa AClas public function bObj(AClas $obj_par) { return $obj_par->aMet(); // Returneaza apelul metodei aMet() din AClas } // Metoda definita sa accepte la parametru $arr_par doar date de tip Array public function bArr(array $arr_par) { print_r($arr_par); // Afiseaza structura elementelor din $arr_par } } // Creare instanta de obiect la clasa AClas $objAC = new AClas(); // Creare instanta de obiect la clasa BClas $objBC = new BClas(); // Apeleaza metoda bObj() din BClas cu instanta la AClas si cealalta cu un Array echo $objBC->bObj($objAC). '<br />'; echo $objBC->bArr( array('cursuri', 'tutoriale') ); ?>- Explicatiile necesare sunt in cod.
<table><tr> <th>Title 1</th> <th>Title 2</th> </tr></table>
.some_class { line-height: 150%; }
document.getElementById("id_button").onclick = function(){ window.open("http://coursesweb.net/"); }
$ar_dir = scandir("dir_name"); var_export($ar_dir);
He will sleep there. - El va dormi acolo.
Él dormirá allí. - El va dormi acolo.