Basic simple CMS PHP

,

Fara nicio legatura cu nimic, voiam sa anunt aceasta comunitate frumoasa ca m-am jucat putin in Php si am realizat un mic CMS. Ceva super basic. Astept eventualele critici constructive (banuiesc ca vor fi si unele mai putin constructive). Mentionez ca nu lucrez de mult in Php, sunt la inceput. Link

3 Likes

Ai și vre un site realizat cu acest CMS?

1 Like

1 - organizează fișierele în foldere
2 - separă business logic de view, pune css și js în fișiere separate
3 - nu trimite credențialele db în github (pune-le într-un fișier .env pe care îl adaugi în .gitignore; poți adăuga un .env-example cu ce trebuie să conțină)

3 Likes

Felicitări pt faptul ca ti-ai facut curaj si ai postat aici. :slight_smile:
Ai făcut primul pas, care mie mi se pare dificil. Acum vine alții importanți.

Putin de code review(menționez ca php nu este limbajul meu de baza)

Am observat ca ai destul de mult cod html amestecat cu php. Cred ca ar fi bine sa te uiți și pe un template engine care sa te mai ajute cu anumite parti mai dinamice din pagina. Prin anumite fisiere faci query-uri sql fara a folosi parametrii

Poate nu sunt toate, dar eu pe astea le-am vazut. Vorba colegilor, foștilor colegi. Trust no one.

Pentru comentarii poți folosi PhpDoc. Daca lucrezi cu PHPStorm iți poate genera o mica documentație deasupra metodei. Încearcă sa nu ai cod comentat cum este aici. Am văzut, de asemenea și un comentariu în limba romana. Având in vedere ca este pe Github si ai o expunere la un nr mai mare de oameni, ți-aș sugera sa scrii în limba engleza.

Nu hardcoda date de conectare la baza de date, ssh, sftp, chei pt api-uri etc. Folosește un fișier .env pe care îl pui in .gitignore. Poți citi acel fișier folosind $_ENV, getenv etc. Dar mie îmi place mai mult acesta biblioteca. Este foarte ușor de folosit.

Vad ca ai scris în php procedural. Poti trece la stilul obiect orientat. Pe lângă faptul ca se cere peste tot, face mai ușor de extins codul.

Tot legat de persistenta, am vazut ca ai folosit Mysqli si PDO. La fel, fii consistent.

PS: Folosește și componente Symfony. Sunt destul de ușor de folosit. Pt managementul dependințelor - Composer

Cam asta ar fii ce am eu de zis. Asupra altor aspecte ii las pe alții cu mai multa experienta sa adauge

Succes !

Vezi ca ai un fișier cu date de acces :wink:

3 Likes

Nu folosești OOP, nu prea văd clase, un autoloader, ești vulnerabil în cele mai sensibile locuri, nu există o structură a fișierelor și … ai lăsat în github parola cu care te loghezi pe devforum.

Dar e ok. Se putea și mai rău. Cred…

2 Likes

Aia nu e parola pentru devforum, e pentru cms.

Multumesc mult pentru comentariu. O sa mai lucrez la el. Apreciez.