Curs Php-mysql

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 atribut e folosit in tag-ul <img> pentru adresa imaginii?
href src rel
<img src="http://coursesweb.net/imgs/webcourses.gif" width="191" height="63" alt="Courses-Web" />
Care din aceste coduri CSS ascunde elementul in pagina?
display: none; display: inline; position: relative;
#id {
  display: none;
}
Ce instructiune opreste executia lui while() sau for() ?
continue prompt() break
for(var i = 0; i< 8; i++) {
  if(i > 1) break;
  alert(i);
}
Indicati functia utilizata pentru a crea constante.
define() include() defined()
define("CONSTANT_NAME", "value");
echo CONSTANT_NAME;
Care este forma de plural a substativului "class" (clasa)?
classes clases clasis
This school has three classes.
- Scoala asta are trei clase.
Care este pluralul substativului "voz" (voce)?
vose voze voces
Escuché dos voces.
- Am auzit doua voci.
Functii PHP clase si obiecte

Last accessed pages

  1. Gramatica limbii spaniole. Indrumator si prezentare generala (61411)
  2. Creare si editare pagini HTML (80026)
  3. Gramatica limbii engleze - Prezentare Generala (205042)
  4. Titluri, Paragrafe, Un nou rand, Linie orizontala (30200)
  5. Curs HTML gratuit Tutoriale HTML5 (184916)

Popular pages this month

  1. Prezentul simplu si continuu - Present Tense Simple and Continuous (1581)
  2. Exercitii engleza - English Tests and exercises - Grammar (1356)
  3. Gramatica limbii engleze - Prezentare Generala (1337)
  4. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (1159)
  5. Prezentul simplu - Exercitii si teste incepatori (771)