Curs Php-mysql

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, ...) { }

- Aceste formule verifica si asigura ca datele din $parametru sa fie o instanta de obiect la o anumita clasa, specificata la NumeClasa, sau, la cealalta sintaxa, de tip array.

Pentru a intelege mai bine, studiati exemplu urmator si comentariile din cod.
<?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.
- Iar functia fArr() trebuie apelata cu doua argumente, ambele de tip Array.
- In browser va afisa:
Metoda clasa AClas
Array ( [0] => php [1] => mysql [2] => marplo.net )
Array ( [0] => cursuri [1] => tutoriale )
- Daca la apelarea functiei fCls(), in loc de o instanta de obiect la clasa AClas se adauga alt tip de date la argument (sir, numar, obiect de alta clasa, etc.), va genera eroare de genul:
Catchable fatal error: Argument 1 passed to fCls() must be an instance of AClas, ...

Pe langa parametri object si array special definiti pot fi adaugati si parametri simpli.
De ex.:
            function Functie(array $arr, $p2, $p3) { }

Metode de clasa, cu parametri object si array

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.
- Scriptul va afisa urmatorul rezultat:
Metoda clasa AClas
Array ( [0] => cursuri [1] => tutoriale )

Un Test simplu in fiecare zi

HTML
CSS
JavaScript
PHP-MySQL
Engleza
Spaniola
Care tag defineste zona de click intr-o harta creata dintr-o imagine?
<map> <img> <area>
<img src="image.jpg" usemap="#map1">
<map name="map1">
  <area shape="rect" coords="9, 120, 56, 149" href="#">
  <area shape="rect" coords="100, 200, 156, 249" href="#">
</map>
Ce proprietate CSS indica ce sa se intample cand continutul unui element depaseste dimensiunile lui?
display overflow position
#id {
  overflow: auto;
}
Clic pe evenimentul care este declansat cand mouse-ul e deasupra unui obiect.
onclick onmouseover onmouseout
document.getElementById("id").onmouseover = function(){
  document.write("Sa ai Viata Buna");
}
Indicati variabila PHP ce contine datele adaugate in adresa URL, dupa caracterul "?".
$_SESSION $_GET $_POST
if(isset($_GET["id"])) {
  echo $_GET["id"];
}
Clic pe pronumele reflexiv care e potrivit in propozitia: "Marc is the boy ... won the prize".
who which whoever
Marc is the boy who won the prize.
- Marc e baiatul care a castigat premiul.
Clic pe pronumele reflexiv care e potrivit in propozitia: "Voy a ver al pintor de ... les hablé ayer".
que quien cuyo
Voy a ver al pintor de quien les hablé ayer.
- Ma duc sa vad pictorul despre care ti-am vorbit ieri.
Functii cu Parametri object si array

Last accessed pages

  1. Conditional IF - Exercitii si teste engleza incepatori (20117)
  2. Lectia 120, Recapitulareb 109-110 (42)
  3. Lectia 202, Recapitulare 182 (44)
  4. Questions from life - Spiritual answers (1647)
  5. PHP MySQL - Introducere si Tipuri de Date (3303)

Popular pages this month

  1. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (617)
  2. Conditional IF in Limba Engleza - Fraze Conditionale (532)
  3. Gramatica limbii engleze - Prezentare Generala (439)
  4. Exercitii engleza - English Tests and exercises - Grammar (379)
  5. Coduri pt culori (362)