Un framework este ca o bază pentru proiectele tale. O bază care va fi folosită în fiecare proiect, ca să-ți ușureze munca atunci când te apuci de un proiect nou. Dar asta nu înseamnă că e o regulă să folosești un framework. O regulă au făcut angajatorii ca să se poată lucra în echipă ușor, să fie pe înțelesul tuturor programatorilor.
Imaginează-ți că într-o companie sunt 10 programatori și fiecare dintre ei folosește un framework diferit. Apoi, dintr-un motiv sau altul, unul dintre programatori este nevoit să modifice ceva în proiectul unui coleg. Atunci, probabil că programatorul respectiv ar trebui mai întâi să înțeleagă ce se întâmplă în framework și cum functionează lucrurile de la bază (bază!) înainte să modifice ce era de modificat. Asta s-ar numi pierdere de timp. E mai ușor pentru toți să se lucreze pe 1-2 framework-uri.
Ăsta e numai unul din motivele pentru care angajatorii cer cunoașterea unui framework de top. La fel de bine se gândesc la simplitatea framework-ului, la peformanță, la compatibilitatea cu proiectele viitoare, la posibile vulnerabilități, la mentenanța pe care o oferă dezvoltatorii framework-ului șamd.
Vizavi de problema “aveam impresia ca stapanesc bine limbajul”, nu ești singurul. Cred că toți am crezut la un moment dat că suntem la “centrul de comandă”. Eu, când am învățat ce-s alea funcții și cum se lucrează cu ele, m-am auto-declarat senior. Care-i problema ?
Referitor la întrebările tale:
- Daca vreau sa urc proiectul meu peste 3-4 luni de lucru pe un webhost bun si este creat fara un framework php, este capabil să faca fata unui flux mare de utilizatori fara sa intampin probleme?
Greu de spus.
Dar mai bine ți-ai pune altă întrebare: Dacă o să apară o problemă, o s-o observi, o s-o poți detecta ? Dacă ești sigur că poți rezolva un potențial bug (presupunând că va apărea pe viitor), atunci poți să mergi înainte cu proiectul și fără să folosești un framework.
- Sa incep proiectul intr-un framework cakephp sau laravel? Asa invat plus fac si proiectul intr-un framework?
Poți să faci și asta. E alegerea ta. Dacă te gândești să te angajezi pe viitor, probabil că ai putea să te decizi asupra unui framework și să începi să lucrezi cu el. Dar nu uita că atunci când te apuci să lucrezi pe un framework, ar trebui să te uiți și în el. Nu numai să citești documentația care te ajută să faci ce ți-ai propus.
Există utilizatori de framework-uri care pun întrebări vizavi de posibilitatea de a face ceva pe un framework, în condițiile în care ei lucrează deja pe acel framework. Imaginează-ți subiectul “Salut, am un proiect făcut pe Laravel și vreau să mai fac unul în cadrul aceluiași framework. Se poate ?”
Se poate să citești framework-ul și să-ți dai seama de capacitățile lui. În general, framework-urile au o structură modernă, clară, ușor de intuit ce se întâmplă în ele, inclusiv în sistem. E bine să înțelegi cum de ai ajuns să lucrezi pe modelul MVC sau care o fi el.
- Dar CodeIgniter in loc de Laravel?
Majoritatea framework-urilor functionează pe același principiu, să te ajute să-ți termini treaba mai repede (nu numai, am scris mai sus). Dacă e să vorbim de o diferență, ține mai mult de ce-ți oferă fiecare, dar nu mulți pun în balanță lucrul ăsta.
Sunt framework-uri, ca laravel sau CI, care în general sunt folosite pentru proiecte de tip site-uri web. De exemplu, laravel are implementat un sistem de template care te va ajuta în afișarea datelor către utilizatori, pe când CI, din câte îmi aduc aminte, nu are implementat așa ceva și vei fi nevoit să coafezi acel view. Există și framework-uri care sunt destinate mai mult API-urilor, pentru arhitectura REST șamd.
- Un website cu php pur este vulnerabil iar un website cu framework iti garanteaza securitatea datelor care sunt trimise catre utilizatori si invers?
Well… în general în framework-uri vei găsi ceva implementări care îți asigură o anumită securitate. Asta dacă configurezi corect framework-ul. Dar, chiar și așa, tu ești cel care programează aplicația până la final. Și, deci, chiar dacă un framework îți garantează ceva, se întâmplă până la un anumit punct.
Din momentul în care te-ai apucat să programezi pe acel framework, în orice moment poți deveni vulnerabil dacă nu faci lucrurile corect.
Dacă e să ne gândim la modul în care poate fi configurat PHP-ul, atunci poți oricând modifica o setare care te poate face vulnerabil. Pentru că un framework nu-ți poate impune o anumită configurație.
La fel de bine poți afișa într-o pagină, așa aiurea, toți utilizatorii dintr-o bază de date, împreună cu parolele lor. Te poate opri framework-ul să faci asta ? Nu. Deci depinde și de tine.
Deci, termenul Framework doar inspiră Securitate, nu o și reprezintă.