mapare clasa peste tabela

Secţiune dedicată începatorilor.

Moderatori: Moderatori, Start Moderator


nevvermind
Senior Member
Mesaje: 1264
Membru din: Mar Iun 22, 2010 3:17 pm

Re: mapare clasa peste tabela

Mesajde nevvermind » Mar Mai 24, 2016 6:53 pm

Facusi un canal de php pe freenode - ##php-ro : https://webchat.freenode.net/

vekand
Average Member
Mesaje: 83
Membru din: Dum Mai 03, 2015 9:15 am

Re: mapare clasa peste tabela

Mesajde vekand » Mar Mai 24, 2016 7:30 pm

Inseamna ca array-ul cu variabilele de limba ar trebui sa-l fac in alta parte si in clasa doar sa-l folosesc cind e nevoie. Nici mie nu-mi place ca in clasa am functii INCLUDE. Mapperul nu stie de tabele HTML, el face doar un simplu array cu anumite cimpuri din tabela, acel array il folosesc in alta parte in afara clasei. Dar voi studia. Multumesc!

vekand
Average Member
Mesaje: 83
Membru din: Dum Mai 03, 2015 9:15 am

Re: mapare clasa peste tabela

Mesajde vekand » Mie Mai 25, 2016 9:54 am

PS: am rezolvat cu variabilele de limba, fac array-ul in alta parte si il preiau ca parametru in constructorul clasei. Am scapat astfel de instructiunile INCLUDE din clasa. Acum mapper-ul stie mult mai putine.

vekand
Average Member
Mesaje: 83
Membru din: Dum Mai 03, 2015 9:15 am

Re: mapare clasa peste tabela

Mesajde vekand » Vin Mai 27, 2016 9:20 am

Multumesc nevvermind pentru ajutorul acordat, am optimizat mapper-ele (foarte important!) dar vreau sa merg mai departe: vreau sa fac clasele de interogare (SELECT), eu am pus in mapper (in clasa parinte, linga INSERT, UPDATE, DELETE) o metoda SELECT care face SELECT * FROM tabela, dar nu e suficient, in majoritatea cazurilor am INNER JOIN intre tabele, deci nu pot aplica mapper-ul in aceste cazuri. O idee cum sa rezolv? Trebuie sa face alte clase, dar astea nu vor mai fi specializate. Multumesc.

nevvermind
Senior Member
Mesaje: 1264
Membru din: Mar Iun 22, 2010 3:17 pm

Re: mapare clasa peste tabela

Mesajde nevvermind » Vin Mai 27, 2016 12:20 pm

Da, de asta urma sa te lovesti. Acum dai de un alt acronim: DBAL.

- http://framework.zend.com/manual/1.12/e ... elect.html
- http://docs.doctrine-project.org/projec ... ilder.html

Poti lua ruta intermediara, si sa faci niste helper-e (sau doar unul) specializate in interogari SQL, cu metode precum: select, innerJoin, outerJoin, insert, update, delete, createTable, addForeignKey etc. Astea vor primi mai multi parametri, in functie de necesitati. Apoi doar le chemi din mapper-ii tai.
Facusi un canal de php pe freenode - ##php-ro : https://webchat.freenode.net/

nevvermind
Senior Member
Mesaje: 1264
Membru din: Mar Iun 22, 2010 3:17 pm

Re: mapare clasa peste tabela

Mesajde nevvermind » Vin Mai 27, 2016 12:24 pm

As vrea totusi ca in thread-ul asta sa fie mai mult cod decat este acuma. Arata-ti clasa, omu, n-o mai ascunde atata.
Foloseste https://gist.github.com/ sau pastie.org cu un snippet privat ceva, sau direct in forum.
Facusi un canal de php pe freenode - ##php-ro : https://webchat.freenode.net/

vekand
Average Member
Mesaje: 83
Membru din: Dum Mai 03, 2015 9:15 am

Re: mapare clasa peste tabela

Mesajde vekand » Vin Mai 27, 2016 12:59 pm


vekand
Average Member
Mesaje: 83
Membru din: Dum Mai 03, 2015 9:15 am

Re: mapare clasa peste tabela

Mesajde vekand » Vin Mai 27, 2016 1:15 pm


vekand
Average Member
Mesaje: 83
Membru din: Dum Mai 03, 2015 9:15 am

Re: mapare clasa peste tabela

Mesajde vekand » Mie Iun 01, 2016 6:34 pm


nevvermind
Senior Member
Mesaje: 1264
Membru din: Mar Iun 22, 2010 3:17 pm

Re: mapare clasa peste tabela

Mesajde nevvermind » Mie Iun 01, 2016 7:50 pm

Facusi un canal de php pe freenode - ##php-ro : https://webchat.freenode.net/

vekand
Average Member
Mesaje: 83
Membru din: Dum Mai 03, 2015 9:15 am

Re: mapare clasa peste tabela

Mesajde vekand » Mie Iun 01, 2016 10:12 pm

Multumesc de raspunsurile critice, chiar imi folosesc, dar cred ca eu nu m-am facut suficient inteles:
1. N-am copiat nimic de niciunde, "vararray" si altele citeva sint variabile intermediare (ajutatoare) pentru construirea de array-uri in clasa, aceste variabile nu "ies" din clasa, deci n-am considerat necesar sa le explicitez.
2. Clasele de interogari nu sint gindite ca mappere, singurele mappere pe care le am sint cele facute la inceput pe fiecare tabela, clasele de interogari sint doar clase care ma ajuta sa fac query-uri ma scutesc sa scriu manual array-ul HTML table si array-ul raport. De asta le-am pus pe fir separat. Dar mapperele mele (cele facute chiar in prima faza) arata exact cum mi-ai desenat in schita, iar ce ai pus in box-ul SELECT sint chiar clasele mele de interogare (care nu sint mappere).
3. "buildOnSecond" este metoda din clasa superioara si indica al doilea criteriu de relationare de dupa INNER JOIN (ex. INNER JOIN useri u ON e,iduser=u.user_id), deci ce este dupa semnul =. De altfel toate metodele sint definite in clasa superioara celei in care construiesc query.
4. Exista parent::__construct(); in clasa de jos, care merge direct la superclasa (nu mai trece prin clasa intermediara, acolo n-am nevoie de constructor).

Voirevedea in amanunt ce mi-ai spus si voi face corectille.

nevvermind
Senior Member
Mesaje: 1264
Membru din: Mar Iun 22, 2010 3:17 pm

Re: mapare clasa peste tabela

Mesajde nevvermind » Mie Iun 01, 2016 11:16 pm

Facusi un canal de php pe freenode - ##php-ro : https://webchat.freenode.net/

vekand
Average Member
Mesaje: 83
Membru din: Dum Mai 03, 2015 9:15 am

Re: mapare clasa peste tabela

Mesajde vekand » Joi Iun 02, 2016 1:03 am

Consider ca toate observatiile tale sint corecte. Iti sint recunoscator pentru rabdarea ta.
Cred ca am farimitat prea mult metodele de la construirea query-ului. Trebuie sa le mai regrupez. Pe de alta parte mi-am dat seama ca nici clasa de interogare n-are nevoie de conexiune pentru ca SELECT-ul nu se executa aici, deci este tot un QueryBuilder.

N-am citit nici un PM, unde l-ai trimis?

vekand
Average Member
Mesaje: 83
Membru din: Dum Mai 03, 2015 9:15 am

Re: mapare clasa peste tabela

Mesajde vekand » Joi Iun 02, 2016 8:44 am

PS: acum am citit PM-ul, voi studia.


Înapoi la “PHP Incepători”

Cine este conectat

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