Aici gasiti un set de functii PHP pentru lucrul cu clase si obiecte.
- 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 ?>
- 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(); } ?>
- 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 ?>
- 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 ?>
- 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, ) ?>
- 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 ?>
- 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 ............. ) */ ?>
- 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', ) ?>
- 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 ?>
- 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 ?>
- 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 ?>
<input type="number" name="points" min="5" max="80" />
#id { filter:alpha(opacity=40); /* for IE */ opacity:0.4; }
var num = 12.84567; alert( num.toPrecision(3) ); // 12.8
$lang =[10=>"PHP", 20=>"JavaScript", "site"=>"coursesweb.net"); shuffle($lang); var_export($lang); // array (0=>"coursesweb.net", 1=>"PHP", 2=>"JavaScript")
She is the best in our class. - Ea este cea mai buna din clasa noastra.
Él es el mejor en nuestra clase. - El este cel mai bun din clasa noastra.