Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc
Comunitatea PHP Romania
 

Moartea obiectelor
Vezi mesajul original

 
       Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc -> PHP Avansat
Subiectul anterior :: Subiectul următor  
Autor Mesaj
cdanea



Data înscrierii: 05/Iul/2003
Mesaje: 115
Locație: Bucuresti

Trimis: Joi Mar 23, 2006 5:29 pm    Titlul subiectului: Moartea obiectelor  

presupunand ca am o agregare generica de obiecte, implementata simplist printr-un array asociativ:
<?php $objectIterator['identifier1'] = &new Obj1(); $objectIterator['identifier2'] = &new Obj2($arg1); $objectIterator['identifier3'] = &new Obj2($arg2);// aceeasi clasa, alte proprietati $objectIterator['identifier4'] = &new Obj3(); ?>

Daca obiectele referentiate sunt niste mici monstruletzi in care am mii de KB de informatie, ma intereseaza un garbage collection efectiv in timpul executiei, sa nu ajung sa ies din cei 8M max oferiti de Zend.

Cand folosesc
<?php unset($objectIterator['identifier1']); ?>
se apeleaza si destructorul clasei Obj1 ? Sau mai bine zis functia unset dereferentiaza identificatorul astfel dealocand si obiectul, sau imi dealoca doar referinta, lasandu-mi in neant o zona de memorie sa bantuie fara sansa de accesare pana la sfarsitul executiei?
Sus  
carco



Data înscrierii: 27/Mai/2004
Mesaje: 2796
Locație: Bucuresti

Trimis: Joi Mar 23, 2006 5:51 pm    Titlul subiectului:  

ca la scoala:
<?php $x=array(); $x['a1']=& new A; $x['b1']=& new B; $x['a2']=& new A(2); unset($x['a1']); $x['b2']=& new B(2); unset($x['b1']); echo 'END: main<br />'; class A {     function __construct($a=1) {        echo 'NEW: A ('.$a.')<br />';     }     function __destruct() {         echo 'END: A<br />';     } } class B {     function __construct($a=1) {        echo 'NEW: B ('.$a.')<br />';     }     function __destruct() {         echo 'END: B<br />';     } } ?>
Rezultat:
<pre>
NEW: A (1)
NEW: B (1)
NEW: A (2)
END: A
NEW: B (2)
END: B
END: main
END: B
END: A
</pre>
Sus  
cdanea



Data înscrierii: 05/Iul/2003
Mesaje: 115
Locație: Bucuresti

Trimis: Joi Mar 23, 2006 5:54 pm    Titlul subiectului:  

mda, chiar asa :D
Sus  
whooper



Data înscrierii: 05/Apr/2005
Mesaje: 727
Locație: Toronto ON

Trimis: Joi Mar 23, 2006 11:43 pm    Titlul subiectului:  

Cei 8Mb pot fi si mai multi, find oferiti de admin in timpul configurarii ..
Sus  
cdanea



Data înscrierii: 05/Iul/2003
Mesaje: 115
Locație: Bucuresti

Trimis: Vin Mar 24, 2006 6:32 pm    Titlul subiectului:  

normal, dar trebuie sa ai cateva lampi sparte la etaj, daca ajungi sa te gandesti ca ai nevoie fie si de jumatate din default-ul de 8.

Mai mult, imi place sa fac aplicatii portabile pe orice server la comanda.
Daca realitatea.tv si-au luat-o in barba ca nu au specificat in contractul cu Prigoana si faza cu domeniul, Dl Prigoana i-a lasat sa faca super trafic, si apoi le-a luat adresa, normal. Asta e o problema simpla, care nu necesita schimbarea serverului propriu zis, dar daca da faliment firmaLuPeste SRL, si clientul tau tre sa isi gaseasca alt host?

E bine sa te intinzi la ini_set numai pe acele setari care stii ca sunt lasate in general pe nivelul "allow_override options", si mai niciodata pe cele in care trebuie sa te bazezi pe admin.
Sus  
aurelian



Data înscrierii: 01/Iun/2003
Mesaje: 833
Locație: Bucuresti

Trimis: Sâm Mar 25, 2006 12:59 pm    Titlul subiectului:  

cdanea a scris: normal, dar trebuie sa ai cateva lampi sparte la etaj, daca ajungi sa te gandesti ca ai nevoie fie si de jumatate din default-ul de 8.

mda, eu am cam 24 - 32, si nu am nici o lampa sparta :)
pot dovedi cu acte.

in plus traim intr-o perioada in care calculatoarele moderne au cel putin 1GB RAM, de ce sa nu foloseasca si php-ul 32 MB?
Sus  
PHPRomania Bot
Bot Member


Data înscrierii: 27/Dec/2007
Mesaje: 1
Locaţie: Server Google
Trimis: Mie Dec 26, 2007 7:01 pm   Titlul subiectului: Ad  

Sus  
 
       Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc -> PHP Avansat
Pagina 1 din 1


Powered by phpBB 2.0.22 © 2001, 2002 phpBB Group
Varianta în limba română: Romanian phpBB online community