Colectie de obiecte... (?)

PEAR, Smarty, ADOdb, OOP, PHP 5, XML, UML, Şabloane de proiectare, PHP-GTK.

Moderatori: coditza, Emil, Moderatori

[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1236: count(): Parameter must be an array or an object that implements Countable
Avatar utilizator
black diamond
Senior Member
Mesaje: 298
Membru din: Lun Mai 23, 2005 8:42 pm
Contact:

Colectie de obiecte... (?)

Mesajde black diamond » Mie Apr 05, 2006 3:37 pm

Clasa 'de baza'...
[php]
class drp {
//...
public function requireDrp() {
return array();
/*...*/
}
}
[/php]

Clasele folosite sunt de genuL..
[php]
public class drp_ceva extends drp {
public function requireDrp() {
return array('drp_doi','drp_trei');
}
}
[/php]

Pe scurt, am clasele drp_... care "au nevoie" de instante ale altor clase. Instantierea va fi de forma $x_drp_ceva pentru clasa $x_drp_ceva, sau $X['drp_ceva']...

Nu prea am idei cum sa le stochez / ordonez. S-a mai lovit cineva de problema asta?


|
p.s. pentru anumite lucruri trebuie un dram de logica si rabdare... sau o cautare scurta pe net. faceti uz de google!

Avatar utilizator
raul_
Senior Member
Mesaje: 711
Membru din: Joi Sep 15, 2005 8:00 am
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1236: count(): Parameter must be an array or an object that implements Countable

Re: Colectie de obiecte... (?)

Mesajde raul_ » Mie Apr 05, 2006 4:17 pm

---
Ultima oară modificat Mar Aug 08, 2006 10:24 am de către raul_, modificat 1 dată în total.

coditza
Senior Member
Mesaje: 298
Membru din: Vin Ian 23, 2004 7:30 pm
Localitate: cluj-napoca
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1236: count(): Parameter must be an array or an object that implements Countable

Mesajde coditza » Mie Apr 05, 2006 4:31 pm

Cred ca mai usor explici care e rezultatul final la care vrei sa ajungi.
function foo() { foo(); }

aurelian
Senior Member
Mesaje: 833
Membru din: Dum Iun 01, 2003 7:54 pm
Localitate: Bucuresti
Contact:

Mesajde aurelian » Mie Apr 05, 2006 5:49 pm


coditza
Senior Member
Mesaje: 298
Membru din: Vin Ian 23, 2004 7:30 pm
Localitate: cluj-napoca
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1236: count(): Parameter must be an array or an object that implements Countable

Mesajde coditza » Mie Apr 05, 2006 7:29 pm

function foo() { foo(); }

Avatar utilizator
black diamond
Senior Member
Mesaje: 298
Membru din: Lun Mai 23, 2005 8:42 pm
Contact:

Mesajde black diamond » Mie Apr 05, 2006 7:40 pm

public class - typo

Am un director cu cateva zeci de fisiere "drp_ceva.php", fiecare cu clasa "drp_ceva" . Ca sa nu le incarc pe toate, vroiam sa iau lista cu cele necesare (date ca array de nume (0=>"ceva", 1=>"ceva2", 2=>"etc")) si sa creez un obiect care sa imi colecteze toate aceste obiecte.

Fiecare drp_ceva->requiredDrp() poate sa returneze alte nume de obiecte aditionale, iar drp_ceva->redirect() poate sa-mi dea un nume de obiect care sa inlocuiasca instanta curenta. Dar redirect-ul e simplu de verificat. Mai sunt si alte required-uri, dar acelea le verific si incarc la timpul lor.

Plecasem de la ideea crearii altui obiect care sa se ocupe de treaba asta cu add(object), addDependencies(object), etc... Pana la urma, dupa cateva ore de 'joaca' in php, cred ca voi implementa o solutie iterativa, pun primele nume intr-un array si fac un while de la 0 la nr_obiecte. Cand mai gasesc unul care nu e in lista, fac nr_obiecte++ si apoi parcug lista.

Incep sa ma intreb daca nu am devenit prea "obsedat" de oop.

Daca aveti sugestii, sunt binevenite.

p.s. Daca imi spuneti ca php-ul are deja implementat asa ceva o sa incerc sa nu-mi stric tastatura de cap. :))
Ultima oară modificat Mie Apr 05, 2006 7:46 pm de către black diamond, modificat 1 dată în total.
|

p.s. pentru anumite lucruri trebuie un dram de logica si rabdare... sau o cautare scurta pe net. faceti uz de google!

coditza
Senior Member
Mesaje: 298
Membru din: Vin Ian 23, 2004 7:30 pm
Localitate: cluj-napoca
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1236: count(): Parameter must be an array or an object that implements Countable

Mesajde coditza » Mie Apr 05, 2006 7:42 pm

php.net/__autoload si exemplul meu pentru un abstract factory (Cauta dupa sfactory pe categoria asta)
function foo() { foo(); }

Avatar utilizator
raul_
Senior Member
Mesaje: 711
Membru din: Joi Sep 15, 2005 8:00 am
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1236: count(): Parameter must be an array or an object that implements Countable

Mesajde raul_ » Mie Apr 05, 2006 7:54 pm

---
Ultima oară modificat Mar Aug 08, 2006 10:24 am de către raul_, modificat 1 dată în total.

Avatar utilizator
black diamond
Senior Member
Mesaje: 298
Membru din: Lun Mai 23, 2005 8:42 pm
Contact:

Mesajde black diamond » Mie Apr 05, 2006 7:56 pm

Nu ma interese instantierea obiectului (am o implementare similara ca si concept pentru alte obiecte) ci crearea unui obiect care sa 'adune' alte obiecte ce prezinta un set comun de functii si ordonarea lor dupa un anumit criteriu.

De autoload stiam, dar incerc sa-l ocolesc pentru ca exista o mare sansa sa trebuiasca sa portez script-ul in php 4.
|

p.s. pentru anumite lucruri trebuie un dram de logica si rabdare... sau o cautare scurta pe net. faceti uz de google!

Avatar utilizator
raul_
Senior Member
Mesaje: 711
Membru din: Joi Sep 15, 2005 8:00 am
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1236: count(): Parameter must be an array or an object that implements Countable

Mesajde raul_ » Mie Apr 05, 2006 7:59 pm

Ultima oară modificat Mar Aug 08, 2006 10:25 am de către raul_, modificat de 2 ori în total.

Avatar utilizator
black diamond
Senior Member
Mesaje: 298
Membru din: Lun Mai 23, 2005 8:42 pm
Contact:

Mesajde black diamond » Mie Apr 05, 2006 8:05 pm

|

p.s. pentru anumite lucruri trebuie un dram de logica si rabdare... sau o cautare scurta pe net. faceti uz de google!


[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1236: count(): Parameter must be an array or an object that implements Countable
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1236: count(): Parameter must be an array or an object that implements Countable
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1236: count(): Parameter must be an array or an object that implements Countable

Înapoi la “PHP Avansat”

Cine este conectat

Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 5 vizitatori