Aici gasiti un set de functii PHP pentru lucrul cu clase si obiecte.



1.   class_alias('ClasaOriginala', 'Alias')

- Creaza in memorie o clasa cu numele dat la 'Alias', identica cu cea a carei nume e precizat la 'ClasaOriginala'.

<?php
// Definire clasa AClas
class AClas {
  public $site = 'marplo.net';       // Proprietate
}

// Creare BClas ca alias la clasa AClas
class_alias('AClas', 'BClas');

// Creare instanta de obiect la clasa alias BClas
$obj = new BClas();

// Accesare proprietate prin instanta clasei alias
echo $obj->site;           // marplo.net
?>

2.   class_exists('NumeClasa')

- Returneaza True daca 'NumeClasa' exista, altfel, False.

<?php
// Verifica daca exista clasa AClas inainte de a crea instanta de obiect la ea
if (class_exists('AClas')) {
  $obiect = new AClas();
}
?>

3.   get_called_class()

- Se adauga in metode cu atribut "static" si returneaza numele clasei prin care acea metoda e apelata.

<?php
// Definire clasa AClas
class AClas {
  // Metoda static
  static public function Test() {
    echo get_called_class();
  }
}

// Definire clasa extinsa din AClas
class BClas extends AClas { }

// Apelare metoda test() prin ambele clase
AClas::Test();                // AClas
BClas::Test();                // BClas
?>

4.   get_class_methods('NumeClasa')

- Returneaza un Array cu metodele publice definite in 'NumeClasa'.

<?php
class AClas {
  // Metoda static
  static public function MetStaticPub() { }

  // Publica
  public function MetPub() { }

  // Privata
  private function MetPriv() { }

  // Protected
  protected function MetProt() { }
}

// Afiseaza un sir cu numele metodelor din AClas
echo implode(', ', get_class_methods('AClas'));        // MetStaticPub, MetPub
?>

5.   get_class_vars('NumeClasa')

- Returneaza un Array asociativ cu proprietatile din 'NumeClasa' care pot fi accesate, numele proprietatii la cheie, si valoarea lor.

<?php
class AClas {
  // Proprietati
  static public $propStaticPub;
  public $propPub = 'publica';
  private $propPriv = 'privata';
  protected $propProt = 'protected';
}

// Afiseaza structura Array-ului cu proprietatile din AClas
var_export(get_class_vars('AClas'));        // array ( 'propPub' => 'publica', 'propStaticPub' => NULL, )
?>

6.   get_class($Obiect)

- Returneaza numele clasei a carei instante de obiect e adaugata la parametru $Obiect.

<?php
class AClas {
  // Instructiuni 
}
// Creare instanta de obiect
$obj = new AClas();

// Afiseaza numele clasei
echo get_class($obj);        // AClas
?>

7.   get_declared_classes()

- Returneaza un Array cu toate clasele ce pot fi utilizate in script-ul curent.

<?php
echo '<pre>';
print_r(get_declared_classes());
echo '</pre>';

/*
  Afiseaza ceva similar cu:
Array
(
    [0] => stdClass
    [1] => Exception
    [2] => ErrorException
    [3] => Closure
    [4] => COMPersistHelper
    [5] => com_exception
    [6] => com_safearray_proxy
    [7] => variant
    [8] => com
    [9] => DateTime
  .............
 )
*/
?>

8.   get_object_vars($object)

- Returneaza un Array asociativ cu proprietatile din obiectul $object care pot fi accesate, numele proprietatii la cheie, si valoarea lor.

<?php
class AClas {
  // Proprietati
  static public $propStaticPub;
  public $propPub = 'publica';
  private $propPriv = 'privata';
  protected $propProt = 'protected';
}

$obj = new AClas();        // Instanta de obiect

// Afiseaza structura Array-ului cu proprietatile din $obj
var_export(get_object_vars($obj));        // array ( 'propPub' => 'publica', )
?>

9.   is_a($obiect, 'NumeClasa')

- Returneaza True daca $obiect e o instanta a clasei 'NumeClasa' sau parinti ai ei; altfel, False.

<?php
class AClas {
  // Instructiuni
}

$obj = new AClas();        // Instanta de obiect

// Verificare cu is_a() daca $obj e o instanta a clasei AClas
if(is_a($obj, 'AClas')) echo 'Corect';         // Corect
?>

10.   method_exists($obiect, 'numeMetoda')

- Returneaza True daca metoda cu numele 'numeMetoda' exista in $obiect, altfel False.

<?php
class AClas {
  // Metoda publica
  public function metPb() {}
}

$obj = new AClas();        // Instanta de obiect

// Aplicare functie method_exists()
if(method_exists($obj, 'metPb')) echo 'metPb exista';
else echo 'metPb nu exista in $obj';

// Va afisa:   metPb exista
?>

11.   property_exists($obiect, 'nume_prop')

- Returneaza True daca proprietatea cu numele 'nume_prop' exista in $obiect, daca nu exista, returneaza False, iar in caz de eroare NULL.

<?php
class AClas {
  // Proprietate
  public $functii = 'Clase si Obiecte';
}

$obj = new AClas();        // Instanta de obiect

// Aplicare functie property_exists()
if(property_exists($obj, 'functii')) echo $obj->functii;
else echo 'functii nu exista in $obj';

// Va afisa:   Clase si Obiecte
?>

- O lista completa cu functii PHP pentru clase si obiecte gasiti la pagina oficiala Functii - clase si obiecte

Un Test simplu in fiecare zi

HTML
CSS
JavaScript
PHP-MySQL
Engleza
Spaniola
Care tag se foloseste in <table> pentru a crea celula de tip "header"?
<thead> <th> <td>
<table><tr>
  <th>Title 1</th>
  <th>Title 2</th>
</tr></table>
Ce proprietate CSS seteaza distanta dintre randuri?
line-height word-spacing margin
.some_class {
  line-height: 150%;
}
Care functie deschide o noua fereastra.
alert() confirm() open()
document.getElementById("id_button").onclick = function(){
  window.open("http://coursesweb.net/");
}
Indicati functia PHP care returneaza un array cu numele fisierelor si directoarelor dintr-un director.
mkdir() scandir() readdir()
$ar_dir = scandir("dir_name");
var_export($ar_dir);
Care din urmatoarele forme a verbului "sleep" (a dormi) se foloseste pentru viitor?
sleeping slept will sleep
He will sleep there.
- El va dormi acolo.
Care din urmatoarele forme a verbului "dormir" (a dormi) se foloseste pentru viitor?
dormido dormirá durmiendo
Él dormirá allí.
- El va dormi acolo.
Functii PHP clase si obiecte

Last accessed pages

  1. Cerc si Oval cu CSS (144)
  2. Harti de imagini (2632)
  3. Trecutul continuu - Exercitii si teste incepatori (3467)
  4. Conditional IF in Limba Engleza - Fraze Conditionale (32395)
  5. Prezent perfect si Prezent perfect continuu - Present perfect and Continuous (29375)

Popular pages this month

  1. Gramatica limbii engleze - Prezentare Generala (2961)
  2. Conditional IF in Limba Engleza - Fraze Conditionale (2819)
  3. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (1795)
  4. Curs HTML gratuit Tutoriale HTML5 (1687)
  5. Creare si editare pagini HTML (1528)