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 defineste zona de click intr-o harta creata dintr-o imagine?
<map> <img> <area>
<img src="image.jpg" usemap="#map1">
<map name="map1">
  <area shape="rect" coords="9, 120, 56, 149" href="#">
  <area shape="rect" coords="100, 200, 156, 249" href="#">
</map>
Ce proprietate CSS indica ce sa se intample cand continutul unui element depaseste dimensiunile lui?
display overflow position
#id {
  overflow: auto;
}
Clic pe evenimentul care este declansat cand mouse-ul e deasupra unui obiect.
onclick onmouseover onmouseout
document.getElementById("id").onmouseover = function(){
  document.write("Sa ai Viata Buna");
}
Indicati variabila PHP ce contine datele adaugate in adresa URL, dupa caracterul "?".
$_SESSION $_GET $_POST
if(isset($_GET["id"])) {
  echo $_GET["id"];
}
Clic pe pronumele reflexiv care e potrivit in propozitia: "Marc is the boy ... won the prize".
who which whoever
Marc is the boy who won the prize.
- Marc e baiatul care a castigat premiul.
Clic pe pronumele reflexiv care e potrivit in propozitia: "Voy a ver al pintor de ... les hablé ayer".
que quien cuyo
Voy a ver al pintor de quien les hablé ayer.
- Ma duc sa vad pictorul despre care ti-am vorbit ieri.
Functii PHP clase si obiecte

Last accessed pages

  1. Trecutul simplu si continuu - Past Tense Simple and Continuous (31945)
  2. Tag-urile iframe si object (723)
  3. Coduri pt culori (24328)
  4. Zilele saptamanii, Lunile si Anotimpuri - Exercitii incepatori (2869)
  5. Por si Para (978)

Popular pages this month

  1. Gramatica limbii engleze - Prezentare Generala (2565)
  2. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (821)
  3. Gramatica limbii spaniole. Indrumator si prezentare generala (642)
  4. Alphabet and Pronunciation - Alfabetul si pronuntia in limba engleza (594)
  5. Prezentul simplu si continuu - Present Tense Simple and Continuous (565)