Welk PHP Framework voor groot project?
Mijn examenjaar is voor de tweede keer aangebroken en ik wil er dit jaar even goed voor gaan zitten. Wij mogen een project bedenken maar er moet enig wat gewicht in zitten qua moeilijkheid en aspecten van het programmeren die we nog niet beheersen.
Voor nu heb ik mijn eerste vraag, ik ben niet zo heel erg bekend met php, ik kan het wel lezen maar niet zelf typen en moet me er nog even in verdiepen. Qua front-end werk beschik ik over genoeg kennis dus daar ga ik niks over vragen. Ik heb nu al een opzetje gemaakt voor mijn project dat je kan registreren, in kan loggen etc. Voor nu is het belangrijk dat ik een account kan registreren (en ik moet me vooral focussen op veiligheid) en dat je je profiel kan aanpassen (dit is stap 1 van mijn project).
Mijn vraag luidt als volgt:
Welk php framework raden jullie mij aan ? Het liefst werk ik met een template 'systeem'. Het moet verder eenvoudig zijn voor een beginnende phper en ik moet me er makkelijk wegwijs in kunnen maken.
Alvast bedankt !
Eschwin
Edit: Ik heb wat gevonden maar ik word er niet veel wijzer van wat voor mijn project relevant is qua gemak.
http://www.phpframeworks.com/
Gewijzigd op 19/08/2014 13:09:48 door Eschwin Moerkerken
Symfony2 met Twig voor templating.
Moet je per se een bestaand PHP-framework inzetten? Als je namelijk wilt leren programmeren, dan ligt eerst helemaal zelf iets bouwen meer voor de hand. Je gaat anders componenten van het framework gebruiken zonder dat je helemaal begrijpt wat je eigenlijk aan het doen bent.
Moet je per se een bestaand PHP-framework inzetten? Als je namelijk wilt leren programmeren, dan ligt eerst helemaal zelf iets bouwen meer voor de hand. Je gaat anders componenten van het framework gebruiken zonder dat je helemaal begrijpt wat je eigenlijk aan het doen bent.
Twig is weer ontzettend fijn om mee te werken heb ik van diverse gehoord.
Authorisatie is in Laravel een grote plus
Routing is veel makkelijker en duidelijker
Vertalen van websites is simpel.
Wat ik wel moet toegeven: Laravel is gebouwd op Symfony2 :)
Ward van der Put op 19/08/2014 13:38:23:
Symfony2 met Twig voor templating.
Moet je per se een bestaand PHP-framework inzetten? Als je namelijk wilt leren programmeren, dan ligt eerst helemaal zelf iets bouwen meer voor de hand. Je gaat anders componenten van het framework gebruiken zonder dat je helemaal begrijpt wat je eigenlijk aan het doen bent.
Moet je per se een bestaand PHP-framework inzetten? Als je namelijk wilt leren programmeren, dan ligt eerst helemaal zelf iets bouwen meer voor de hand. Je gaat anders componenten van het framework gebruiken zonder dat je helemaal begrijpt wat je eigenlijk aan het doen bent.
Dat had ik ook al ergens gelezen ja dat je beter zelf zo'n systeem kan maken, ik heb nu redelijk veel includes en allemaal aparte handlers en templates, en ik raak nu al het overzicht een beetje kwijt wat erg frustrerend is. Heb je hier tips voor ? als ik bijvoorbeeld een formulier verstuur doe je dat dan afhandelen in het zelfde php bestand als waar het formuliertje staat of doe je dat in een ander (extern) bestand ? of doe je alle handles van formulieren in 1 bestand, want wat ik nu heb zijn 20 verschillende bestanden die allen bij 1 .html template bestand horen.
Hoop dat je mijn warre uitleg nog een beetje snapt :)
Maar goed, daarmee leggen we de lat dan misschien wel hoger dan je opleiding voorschrijft. We moeten het ook weer niet ingewikkelder maken dan nodig is. Kun je wat concrete exameneisen noemen?
Ik moet een aantal dingen laten zien van wat ik kan en wat ik heb geleerd tijdens mijn studie. Daarbij moet het niet een simpele opdracht zijn die binnen een paar weken klaar is. Verder moet ik een hoop documentatie doornemen en invullen voor een fictieve klant.
Ik had een idee om een website te maken waar je je kan registreren (wellicht later mogelijkheid om in te loggen met facebook) en dat je dan elkaar profiel kunt bekijken (van je vrienden op kan zoeken etc.) en dat je elkaar dan kunt uitnodigen om een spelletje te spelen. Dat spelletje stelt een paar vragen en de ander moet dan raden welk antwoord jouw vriend(in) heeft gegeven. Op deze manier kun je elkaar een beetje uittesten, ik weet dat er al genoeg van dit soort websites bestaan en apps, maar dat doet er niet toe het hoeft niet iets heel nieuws te zijn. Het hoeft niet heel ingewikkeld dus te zijn maar moet wel veilig en goed in elkaar steken, mijn focus ligt ook op de veiligheid bij dit project.
Voordeel van een zelf gebouwd framework is dat je zelf als de beste weet waar je aanpassingen kunt plaatsen. Je hoeft geen tijd te steken in het onder de knie krijgen van een kant en klaar framework.
Ik zou eerst eens goed op papier zetten wat je precies gaat maken, denk dan vooral aan:
* Waarom heb ik een framework nodig?
* Waar moet het framework aan voldoen?
* Hoe wil je data gaan verwerken?
* Wat moet er verwerkt worden?
* Moet code vaak hergebruikt worden?
* Is snelheid erg belangrijk? Als je zelf een framework maakt zal het waarschijnlijk een stuk sneller zijn doordat enkel de hoognodige dingen ingebouwd zijn.
Zoals Ward al zei, heb je concrete exameneisen?
Dan kun je frameworks wel vergeten, want je hebt toch echt basiskennis van php nodig en niet zo'n beetje.
Om goed te snappen wat code doet en waardoor het gebruikt moet worden en waarvoor vooral niet kan je naar mijn idee het beste starten met de basis.
1. leer PHP
2. Verdiep je in databasenormalisatie
3. leer object georienteerd programeren
En ik denk dat daarna pas echt de frameworks om de hoek komen zetten. Dan snap je wat een framework doet.
Desalniettemin is mij wel eens verteld dat codeigniter een hele goede user guide heeft, waarna je de basics van het framework in een een weekendje er wel in kan krijgen (zegt nog niets over je PHP kennis die er voor nodig is).
De facetten van een login/members/profile is met just plain php ook te maken.
Daarin dwing je jezelf echt de manual erbij te pakken om de nieuwste beveilig opties te zoeken.
Hoewel een framework soms een uitkomst kan bieden qua andere opties.
Echter, moet je wel weten welke aspecten er in een framework zitten die je echt nodig hebt.
Een template systeem is heel wat anders, dat maakt het design wat makkelijker, en dat kan je ook zelf makkelijk maken.
Beter is om aan te geven wat exact de opdracht is. Want dat mis ik eigenlijk om je op weg te helpen.
Bas IJzelendoorn op 20/08/2014 17:25:13:
Desalniettemin is mij wel eens verteld dat codeigniter een hele goede user guide heeft, waarna je de basics van het framework in een een weekendje er wel in kan krijgen (zegt nog niets over je PHP kennis die er voor nodig is).
Ik heb ongeveer (afgerond) 2 uur en 59 minuten nodig gehad om de basics van CI onder de knie te krijgen.
Daarna ben ik 3 dagen bezig geweest om te contoleren of heel die Active Record van CI wel goed in elkaar zit. Conclusie: nee dus.
Gevolg: 2 weken om heel het reeds geprogrammeerd prutswerk naar gedegen straight forward queries om te zetten.
Conclusie:
CI is heel makkelijk te leren, maar lijdt heel vaak naar producereel programeren binnen een (zich voordoent als) OOP framework
Ik ben nu bezig met mn eigen projectje, zelf ingedeelde mappen etc. heb er toch voor gekozen om geen framework te gaan gebruiken aangezien je allemaal code typt die eigenlijk ingebakken zit en er toch niet heel veel van leert zoals velen van jullie zeggen.
Mijn examen eisen heb ik zo'n beetje in mn vorige post getypt. Het enige wat ik moet leren is hoe ik bepaalde dingen het beste kan aanpakken om bugs / veiligheidslekken te voorkomen.
Ik wil nog wel wat met de facebook api gaan doen maar denk dat ik dit beter achteraf kan inbouwen en eerst wat van php opsteken voordat ik me in zulke dieptes ga gooien. Bedankt voor de nuttige informatie allemaal hier kan ik zeker wat mee ! :)