Obiecte
February 22, 2008 – 4:57 pmPentru a crea o variabilă de tipul obiect dorit, şi eventual pentru a o iniţializa, se foloseşte operatorul new:
Ex:
class aaa
{
function do_aaa()
{
echo “Doing aaa.”;
}
}
$bar = new aaa;
$bar->do_aaa();
Conversia automată a tipurilor
PHP nu acceptă definirea explicită a tipului în definirea variabilelor, tipul unei variabile fiind determinat de contextul în care acea variabilă este utilizată. Acesta înseamnă că dacă atribuiţi variabilei var un şir de caractere, var va deveni şir. Dacă îi atribuiţi o valoare întregă, var va deveni un întreg.
Un exemplu de conversie automată a tipului apare la utilizarea operatorului ‘+’. Dacă vre-un operand este double, atunci toţi operanzii sunt evaluaţi la double, şi rezultatul va fi un double. Altfel, operanzii vor fi interpretaţi ca întregi şi rezultatul va fi tot un întreg. Reţineţi că acest mod de evaluare nu modifică tipul operanzilor care intervin în expresie, ci numai modul în care ei sunt evaluaţi.
Ex:
$bbb = “0″; // $bbb este sir de caractere (ASCII 48)
$bbb++; // $bbb este sirul de caractere “1″ (ASCII 49)
$bbb += 1; // $bbb este acum de tip intreg (2)
$bbb = $bbb + 1.3; // $bbb este acum de tip double (3.3)
$bbb = 5 + “10 Little Piggies”; // $bbb este de tip intreg (15)
$bbb = 5 + “10 Small Pigs”; // $bbb este de tip intreg (15)
Observaţie: conversia automată de la un tip simplu la tipul tablou este uzual nedefinită.
$a = 1; // $a este un intreg
$a[0] = “f”; // $a devine un vector de forma “f”
Deşi aparent variabila $a a fost transformată într-un tablou cu primul element f, exemplul următor nu oferă un rezultat la fel de clar:
$a = “1″; // $a este un sir
$a[0] = “f”; // Ce se intampla cu offset-ul sirului?





De 3 ani de zile InfoSlabire.ro se sustine financiar doar datorita partenerilor din linkurile recomandate. Daca acest articol te-a ajutat, atunci ajuta-ma si tu sa mentin calitatea informatiei si viziteaza siturile partenerilor mei.
Iti Multumesc!
Olimpiu