Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Cumparat/Locuit in apartament si ...

Pot folosi sistemul PC pe post de...

Sokol cu distorsiuni de cross-over

Filtru apa potabila cu osmoza inv...
 Kanal D va difuza serialul “...

Upgrade xiaomi mi11

securitate - acum se dau drept - ...

Farmacia Dr Max - Pareri / Sugest...
 De unde cumparati suspensii / gar...

[UNDE] Reconditionare obiecte lemn

Infiltratii casa noua

sugestie usa interior
 ANAF si plata la selfpay

Imprimanta ciss rezista perioade ...

Garmin fēnix 7 / PRO / Saphi...

Care sunt cele mai mari regrete a...
 

Yii advanced

- - - - -
  • Please log in to reply
27 replies to this topic

#1
AlleXyS1

AlleXyS1

    Active Member

  • Grup: Members
  • Posts: 1,107
  • Înscris: 05.05.2010
Am un proiect personal pe care incerc sa-l dezvolt cat mai mult. Momentan am doar 4 pagini : index.php, login.php, profile.php, bet.php (aici ar fi o aplicatie de amploare)

1. Bet.php ar fi doar un fisier din multitudinea pe care as vrea sa o creez pentru aplicatia cu acelasi nume. Sau as putea face ceva mai elegant (dinamic), ca asta sa fie singurul fisier, incluzand un submeniu si tot restul aplicatiei?

2. As fi vrut sa folosesc un framework ... si m-am axat pe Yii advanced. Backendul daca am inteles bine, il voi lasa deoparte pentru Admin Panel. Asadar voi lucra la front end in prima faza. Trebuie sa citesc destul de mult oricum, dar aveam cateva nelamuriri :
- cand vreau sa accesez siteul , din cauza structurii trebuie sa scriu un link de genul : localhost/site/frontend/web/index.php. as vrea sa scap de frontend/web si sa fie direct localhost/site/index, dar nu am gasit pe nicaieri o solutie.
- am vrut sa adaug campuri noi (gen varsta sau tara) in formularul de inregistrare, le-am adaugat, dar nu le face trimitere in baza de date (de fapt, sa fiu sincer, nici nu stiu unde sau sub ce forma este queryul care trimite datele catre db)

De ce am ales sa folosesc yii? Pentru ca am inteles ca este mult mai sigur decat codul care-l fac eu, pentru ca am sansa sa mai buna sa invat cum se folosesc clasele si functiile. De exemplu, eu pentru mentinerea userului logat am folosit &_SESSION['username'] si sunt nevoit ca in orice pagina sa folosesc start_session(). Asta e un mic exemplu. In yii mentinerea logarii e strict diferita de ce invatasem eu. Si sunt convins ca multe alte chestii.

SiteController imi pare ca va ajunge un fisier cu enorm de multe linii dd cod, in situatia in care acolo se gasesc toate clasele. As putea sa-l structurez de exemplu in alte 10 - 15 fisiere, acesta fiind la momentul actual singurul in folderul Controller?

3. Unul dintre motivele pentru care incerc sa fac acest proiect este ca la anul as putea sa-l prezint ca si lucrare de licenta la facultate, asta daca il duc la bun sfarsit. Altul ar fi ca voi fi mai motivat sa invat, vazand la fiecare modificare de cod imbunatatirile si avansul in a avea cunostinte si ca stiu ce pasi as vrea sa dezvolt in continuare.

Posibil sa ma grabesc, va rog sa treceti peste acest lucru si sa comentati strict la cele enumerate mai sus. Adica ... sunt sigur ca as putea sa creez siteul cu codul propriu (invatand pas cu pas si testand), dar sa fie nesigur si sa arate in ultimul hal, sa necesite mai mult timp si apoi dupa invatarea unui framework, sa-l rescriu. Sau as putea invata inca de la inceput un framework, probabil imi va lua putin mai mult sa-l inteleg, dar cu pasi mici, as putea scrie de prima data aplicatia folosind acel tip?

Pentru ca eu acum, de exemplu.... in locul unei functii de 10 linii de cod, scriu 50 linii folosindu-ma foarte mult de while si if 😁 ca si paranteza, o tema in java care avea rezolvare in 20 30 linii de cod si cateva metode am reusit sa o scriu in 90 linii doar cu while si if. Pur amatorism :))) si nu vreau sa repet experienta 😁😕😀

Edited by AlleXyS1, 13 June 2017 - 15:37.


#2
dexter_lab

dexter_lab

    Senior Member

  • Grup: Senior Members
  • Posts: 5,390
  • Înscris: 31.10.2007
cred ca index.php ar trebui sa fie in localhost/site.
ar trebui sa ai un folder models unde sa fie niste fisiere care lucreaza cu bd
e bine sa ai un fisier controler pt fiecare actiune/pagina a aplicatiei. e mai usor de intretinut.

#3
OriginalCopy

OriginalCopy

    I'm harmful, fear me please! :))

  • Grup: Senior Members
  • Posts: 27,268
  • Înscris: 10.08.2006
Înainte de a te apuca de folosit un framework, urmezi câteva ghiduri/tutoriale care îți spun cum de face o aplicație de la "zero" folosind acel framework.

Aplicația respectivă nu va avea nimic de a face cu aplicația ta, o faci doar cu scopul de a învăța.

Acum, nu știu ce e acest "yii advanced", dar sună de ca și cum ar fi yii pentru programatori avansați.

Tu dacă nu ești avansat, de ce nu folosești un framework mai basic, gen Zend Expressive?

#4
unbrutus

unbrutus

    Guru Member

  • Grup: Senior Members
  • Posts: 16,299
  • Înscris: 23.02.2017
Cred ca e asta de aici: https://code.tutsplu...late--cms-24994

Nici nu stiam ca exista...

Quote

- cand vreau sa accesez siteul , din cauza structurii trebuie sa scriu un link de genul : localhost/site/frontend/web/index.php. as vrea sa scap de frontend/web si sa fie direct localhost/site/index, dar nu am gasit pe nicaieri o solutie.
Ar trebui sa scapi in primul rand de localhost, stii ce sint si cum sa lucrezi cu virtual hosts?

#5
AlleXyS1

AlleXyS1

    Active Member

  • Grup: Members
  • Posts: 1,107
  • Înscris: 05.05.2010

 unbrutus, on 13 iunie 2017 - 17:23, said:

Cred ca e asta de aici: https://code.tutsplu...late--cms-24994

Nici nu stiam ca exista...


Ar trebui sa scapi in primul rand de localhost, stii ce sint si cum sa lucrezi cu virtual hosts?

Multumesc, foarte explicita structura in linkul ala.

Nu stiu sa lucrez cu virtual host, dar la o cautare pe google am gasit modul in care as putea face setarile si ce rol are : https://delanomalone...ts-using-xampp/

OriginalCopy, Yii mi-a fost recomandat de un prieten, iar dupa cateva cautari pe google am vazut ca este destul de laudat mai ales pentru usurinta cu care se invata si rapiditatea aplicatiilor. Am ales Yii advanced pentru faptul ca are structurat deja si backendul ... nu cred ca ma voi atinge de el cel putin pana nu fac o mare parte din frontend. O sa mai citesc si in zilele urmatoare, si odata tot va trebui sa ma decid cum continui pentru ca momentan stagnez de cateva zile ...
Inca o chestie ar fi ca Yii lucreaza cu PDO, eu folosind mysqli pana acum... am inteles ca PDO are un mare avantaj (mai sigur, si poate fi folosit si pe mai multe tipuri de db), iar la nivelul de cunostinte care il am in mysqli, pot incepe oricand sa invat PDO :)) o data cu Yii am cautat si alternative (Symfony si Laravel), si parca Symfony ar fi mai bine structurat (mai pe intelesul meu, mai bine explicata, sau mai simpla). Nehotararea asta ma tine pe loc oricum, si trebuie cat mai curand sa decid de care sa ma apuc. De fapt, daca nu voi intelege chiar nimic din codul lui Yii sau Symfony, nu-mi ramane decat sa practic pe cod php pur.

De fapt ... cum invat eu programarea .. nu stiu daca e gresit sau nu: stiu ce functionalitate sau ce pas vreau sa fac pe site, acolo ma interesez, caut rezolvari, metode ce as putea implementa si le testez. Oricat de cap patrat ai fi, lucrand asa, cred ca tot vei ramane cu ceva in minte. Altfel decat sa citesc un tutorial si sa incerc (copy/paste) exemplele de acolo

Edited by AlleXyS1, 13 June 2017 - 19:35.


#6
OriginalCopy

OriginalCopy

    I'm harmful, fear me please! :))

  • Grup: Senior Members
  • Posts: 27,268
  • Înscris: 10.08.2006
Din experienta mea, cu cat incerci mai mult sa sari peste etape (sa rezolvi probleme pe ici pe colo pe sarite) in loc sa intelegi cum functioneaza lucrurile de la zero, cu atat pierzi mai mult timp.

Framework-urile le folosesti cand esti deja stapan pe situatie si ai nevoie de un boost initial in productivitate la site-uri mici.

La site-uri mai mari (de la cateva sute de mii de linii de cod in sus) framework-ul, oricare ar fi el, nu te mai ajuta, mai degraba te trage in jos.

#7
lightpoint

lightpoint

    Member

  • Grup: Members
  • Posts: 785
  • Înscris: 16.02.2017

 AlleXyS1, on 13 iunie 2017 - 15:34, said:

3. Unul dintre motivele pentru care incerc sa fac acest proiect este ca la anul as putea sa-l prezint ca si lucrare de licenta la facultate, asta daca il duc la bun sfarsit. Altul ar fi ca voi fi mai motivat sa invat, vazand la fiecare modificare de cod imbunatatirile si avansul in a avea cunostinte si ca stiu ce pasi as vrea sa dezvolt in continuare.
daca Yii Advanced asta este Yii 2 este relativ Ok,tinant cont ca in PHP, standardul este Laravel/Symfony/Code Igniter.
Daca esti proficient in OOP atunci pui proiectul de licenta in CV, mai iti repeti algoritmica de liceu( sa fii tare la algorimitca) , iti mai inveti design pattern-urile generale si esti eligibil pentru un internship/proba de 3 luni  in cadrul unei corporatii IT

Edited by lightpoint, 14 June 2017 - 02:34.


#8
dexter_lab

dexter_lab

    Senior Member

  • Grup: Senior Members
  • Posts: 5,390
  • Înscris: 31.10.2007

 lightpoint, on 14 iunie 2017 - 02:24, said:

daca Yii Advanced asta este Yii 2 este relativ Ok,tinant cont ca in PHP, standardul este Laravel/Symfony/Code Igniter.
Daca esti proficient in OOP atunci pui proiectul de licenta in CV, mai iti repeti algoritmica de liceu( sa fii tare la algorimitca) , iti mai inveti design pattern-urile generale si esti eligibil pentru un internship/proba de 3 luni  in cadrul unei corporatii IT

tinand cont ca a spus "sunt sigur ca as putea sa creez siteul cu codul propriu (invatand pas cu pas si testand)" nu cred ca e proficient in OOP.

cred totusi ca e mai bine sa scrii cod propriu la inceput pana inveti cat de cat limbajul de programare.

#9
AlleXyS1

AlleXyS1

    Active Member

  • Grup: Members
  • Posts: 1,107
  • Înscris: 05.05.2010
are dreptate dexter, greu cu OOP :D incercand sa invat un framework, am vrut sa elimin acel numar mare de linii de cod, in general simple, astfel fiind nevoit sa folosesc mai mult metode, functii sau clase. Probabil voi ramane pe php pur la inceput, chiar daca voi scrie mult mai mult, iar apoi sa incerc sa-mi imbunatatesc codul.

multumesc pentru replyuri.

#10
dexter_lab

dexter_lab

    Senior Member

  • Grup: Senior Members
  • Posts: 5,390
  • Înscris: 31.10.2007
din experienta iti pot spune ca pasii ar putea fi urmatorii:
faci aplciatia cum stii. o sa ai cod repetitiv. dupa ce termini si e functional incepi sa il perii, sa faci functii, etc. dupa ce te descurci cu functiile incepi sa le pui in clase.
abia dupa aceea cred ca ar fi bine sa treci la framework-uri.

#11
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,235
  • Înscris: 24.02.2007
Daca o iei pe calea "php pur", greu mai scapi de obiceiurile proaste (putin spus) ce le vei dobandi.

Poate n-ar fi o idee rea sa pui php deoparte si sa alegi un alt mediu care sa te forteze sa lucrezi mai ordonat. De exemplu C# + ASP.NET Core (framework web open-source) poate fi o varianta fiindca:

  • Limbajul e OOP, trebuie sa creezi clase, nu doar sa amesteci markup (HTML) cu logica
  • Te forteaza sa intelegi cum merg lucrurile fiindca te pune sa definesti pipeline-ul, nu serveste nici fisiere statice in mod implicit
  • Controllerele sunt foarte usor de definit, cu tot cu rute si mapari de parametrii
  • Te ajuta sa vezi diferenta intre logica si afisare (views)
  • etc.


#12
dexter_lab

dexter_lab

    Senior Member

  • Grup: Senior Members
  • Posts: 5,390
  • Înscris: 31.10.2007
cred ca e greu sa te apuci direct de oop daca nu stii bazele limbajului. din cate am inteles din ce a scris, el invata programarea pe incercate.

#13
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,235
  • Înscris: 24.02.2007
Prea mult cod php (de slaba calitate) s-a adunat prin lume, scris "pe incercate".

#14
OriginalCopy

OriginalCopy

    I'm harmful, fear me please! :))

  • Grup: Senior Members
  • Posts: 27,268
  • Înscris: 10.08.2006

 AlleXyS1, on 15 iunie 2017 - 20:09, said:

are dreptate dexter, greu cu OOP :D incercand sa invat un framework, am vrut sa elimin acel numar mare de linii de cod, in general simple, astfel fiind nevoit sa folosesc mai mult metode, functii sau clase. Probabil voi ramane pe php pur la inceput, chiar daca voi scrie mult mai mult, iar apoi sa incerc sa-mi imbunatatesc codul.

multumesc pentru replyuri.

Nu știu cum ai putea învăța, dacă nu îți vede nimeni codul ca să îți dea code review.

Dacă nu ai pe nimeni în preajmă, consideră open-source-uirea codului.

#15
lightpoint

lightpoint

    Member

  • Grup: Members
  • Posts: 785
  • Înscris: 16.02.2017

 dexter_lab, on 14 iunie 2017 - 08:18, said:

tinand cont ca a spus "sunt sigur ca as putea sa creez siteul cu codul propriu (invatand pas cu pas si testand)" nu cred ca e proficient in OOP.
Tinand cont ca pentru a deveni proeficient in OOP iti ia cam un an, e clar ca nu ma refeream acum.

#16
AlleXyS1

AlleXyS1

    Active Member

  • Grup: Members
  • Posts: 1,107
  • Înscris: 05.05.2010

 dani.user, on 15 iunie 2017 - 21:15, said:

Daca o iei pe calea "php pur", greu mai scapi de obiceiurile proaste (putin spus) ce le vei dobandi.

Poate n-ar fi o idee rea sa pui php deoparte si sa alegi un alt mediu care sa te forteze sa lucrezi mai ordonat. De exemplu C# + ASP.NET Core (framework web open-source) poate fi o varianta fiindca:

  • Limbajul e OOP, trebuie sa creezi clase, nu doar sa amesteci markup (HTML) cu logica
  • Te forteaza sa intelegi cum merg lucrurile fiindca te pune sa definesti pipeline-ul, nu serveste nici fisiere statice in mod implicit
  • Controllerele sunt foarte usor de definit, cu tot cu rute si mapari de parametrii
  • Te ajuta sa vezi diferenta intre logica si afisare (views)
  • etc.

Incepusem cu aplicatii simple in java. Invatasem sa folosesc clase la un nivel destul de bunicel pentru mine. Asta pana am vrut sa trec pe web. Servleti in nici un caz (html in java), dar jsp era destul de ok (in trecut am mai avut tentative cu php, siteuri simple, iar jsp imi pare destul de asemanator). Doar ca pentru jsp nu gasesc la fel de multe informatii si tutoriale pe net, asa ca m-am gandit sa continui cu php. Cum am folosit clase in java, asa cred ca pot folosi si in php, insa momentan, la 3 4 pagini cate am eu, nu cred ca am pentru ce folosi clasele inca. Imi place metoda MVC pe care majoritatea frameworkurilor am vazut ca o adopta, gasesti mult mai rapid codul pe care il cauti, adica stii unde ai formularele, stii unde ai query-urile, toate functiile, mult mai bine structurat. Eu am plecat cu ideea ca 1 fisier de 90 linii de cod este mai rapid/raspunde mai bine decat 3 fisiere de 30 linii de cod fiecare, si de-asta evitam sa divizez  in cele 3 forme.

Pe scurt, nu-mi pare imposibil de invatat functiile (si nici clasele), insa e nevoie de repetitii continue pentru a ramane in memorie. In ultima vreme n-am mai avut timp de citit si de proiect, dar cum prind ceva timp liber o sa pun aici codul lucrat pana in prezent (in faza de acum), si daca as putea, si modificat (mai bine structurat).

Incerc sa invat din prima cele mai bune metode, deasta am creat si topicul, pentru ca daca as scrie cel mai simplu cod, imi va fi greu sa ma dezvat apoi. De exemplu, prima data creasem query-urile si apelarile datelor din formulare fara prepared statement (sql) si filter_sanitize (preluarea datelor din formulare). Intre timp, am modificat tot ... pentru ca am fost atentionat de un coleg, si de atunci asa am invatat sa fac mereu.

#17
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,235
  • Înscris: 24.02.2007
Java are multe frameworkuri pe web (aici exceleaza/e folosit cel mai frecvent). Spring e printre cele populare. Iar la moda e nici sa nu mai generezi html pe server, ci sa-l ai sub forma de proiect separat ce doar cere date de la server, executand apoi cod pe client pentru a stabili ce sa afiseze.

Apoi, intre numarul de linii de cod si viteza rar exista o legatura. Programul din semnatura, la 20.000 linii de cod, probabil raspunde mai repede decat 90 de linii de php.

Edited by dani.user, 17 June 2017 - 20:44.


#18
lightpoint

lightpoint

    Member

  • Grup: Members
  • Posts: 785
  • Înscris: 16.02.2017

 dani.user, on 17 iunie 2017 - 20:44, said:

Java are multe frameworkuri pe web (aici exceleaza/e folosit cel mai frecvent).
De fapt Java exceleaza peste tot unde este vorba de tranzactii si sisteme enterprise precum  si managemetul datelor
De asemenea Java si sora sa geamana Scala exceleaza in  DataMining, Hadoop,Machine Learning,Clustere de tip Spark, ecosisteme de BigData precum Cloudera si Kafka One.

Anunturi

Second Opinion Second Opinion

Folosind serviciul second opinion ne puteți trimite RMN-uri, CT -uri, angiografii, fișiere .pdf, documente medicale.

Astfel vă vom putea da o opinie neurochirurgicală, fără ca aceasta să poată înlocui un consult de specialitate. Răspunsurile vor fi date prin e-mail în cel mai scurt timp posibil (de obicei în mai putin de 24 de ore, dar nu mai mult de 48 de ore). Second opinion – Neurohope este un serviciu gratuit.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate