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