Functii PHP clase si obiecte

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 = ‘www.PHPCursWeb.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;           // www.PHPCursWeb.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

Similar Posts

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *