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
Ce tip de <input> creaza o paleta de culori pentru selectare culoare?
type="text" type="color" type="date"
<input type="color" name="get_color" />
Care metoda CSS roteste elementul HTML la un anumit numar de grade?
scale() translate() rotate()
#some_id:hover {
  transform: rotate(60deg);
  -ms-transform: rotate(60deg);    /* IE 9 */
  -moz-transform: rotate(60deg);   /* Firefox */
}
Click pe functia care returneaza numarul cel mai mare.
pow() min() max()
var maxn = Math.max(8, 4, 88, 56);
alert(maxn);      // 88
Ce functie previne ca un fisier sa fie inclus mai mult de o data intr-o pagina?
include() include_once() require()
include_once("un_fisier.php");
Care este traducerea corecta pentru: "Ahead of time"?
Peste timp La timp Inainte de vreme
Most people arrived ahead of time.
- Cei mai multi oameni au sosit inainte de vreme (prea devreme).
Indicati traducerea corecta a cuvantului "buenĂ­simo"
mai bun mai putin bun extrem de bun
Este fruto es buenĂ­simo.
- Acest fruct este extrem /nemaipomenit de bun.
Functii PHP clase si obiecte

Last accessed pages

  1. Conditional IF in Limba Engleza - Fraze Conditionale (45092)
  2. Curs si Tutoriale Ajax (3737)
  3. Utilizare EventSource pentru evenimente de la server (302)
  4. Trecut perfect si Trecutul perfect continuu - Past perfect and Continuous (27300)
  5. Prezent perfect si Prezent perfect continuu - Present perfect and Continuous (43479)

Popular pages this month

  1. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (2240)
  2. Curs HTML gratuit Tutoriale HTML5 (1609)
  3. Curs si Tutoriale JavaScript (1587)
  4. Curs PHP MySQL, Tutoriale si Scripturi PHP (1541)
  5. Curs CSS Online Tutoriale CSS3 (1415)