Mocht ik opnieuw moeten beginnen, dan zou ik gewoon starten met de fundamentele basis dingen qua programmeren op zich zelf. Of dat nou toevallig met PHP te maken heeft, of met .NET, Java etc. dat maakt dan niet uit.
Denk dan aan boeken zoals:
https://www.bol.com/nl/p/...atterns/1001004002332281/
Het gaat dan om de denkwijze, de manier van programmeren en dat soort zaken. Ik ben van mening als je gedachte goed is, dat je ook wel de geschikte syntax kan googlen voor de correcte oplossing. Echter op het moment dat je niet weet dat een "gebruiker" een "object" is (of kan zijn), die eventueel inherent is aan 'iets anders' dan ga je per definitie al fout zonder dat je iets op 'papier' hebt staan.
De volgende stap zou dan gewoon zijn om een volwassen framework te pakken. Niet alleen staat de basis dan al goed, je wordt semi geforceerd de juiste werkwijze te gebruiken.
Persoonlijk gezien is de tijd van een beetje aankloten met PHP, en een mix van HTML/CSS wel voorbij. Vroeger kon je inderdaad nog semi statisch je meuk in elkaar schoppen en je website was net zo goed als mening andere website. Dat is niet meer.
In mijn laatste projecten heb ik niet eens meer iets 'frontend' achtigs gedaan. Die frontenders zitten nu magisch te doen met LESS/SASS/GRUNT en al die andere meuk. Het enige wat ik hoef te doen is de juiste output te geven. De rest wordt wel automagisch geregeld door de frontender. Ik denk dat de scheiding tussen backend/frontend development een stukje groter is geworden. Het is niet echt meer nodig zoals je zelf in je post aangeeft om aan de slag te gaan met HTML+CSS3 om vervolgens naar PHP te gaan.
Uiteraard, het is wel -handig- dat je de basis beginselen snapt zoals divjes, open/sluiten van tags en ga zo maar door maar pak gewoon dan even bootstrap en 'boem' je hebt je frontend klaar zonder dat je zelf moeilijk hoeft te doen. Laat iemand die een -echte- frontender is lekker kloten met die media queries en pixels. Not your job.
In elk geval even terug naar het leren stuk. Als je dus een framework pakt ben je al een stap verder. Je hoeft dan eigenlijk geen queries meer te schrijven voor je database. Je kunt dan gewoon gebruik maken van de 'technologie' van het framework. Je hebt repositories die je via een makkelijke manier kunt aanspreken, zonder dat je zelf 'low level' de query in elkaar moet flansen.
Uiteindelijk is het ooit wel handig om te weten hoe je query er daadwerkelijk uit zou zien, maar om puur te leren is het fijn dat je out of the box de 'onzin' kan skippen en iets kan neerzetten wat a ) goed is en b ) enorm simpel is.
Stel we pakken symfony er even bij en dan deze pagina:
http://symfony.com/doc/current/page_creation.html
Ik weet zeker dat je deze basis voor elkaar krijgt. Dat is gewoon al heel handig als dat lukt. De logica wat je vervolgens erin wilt krijgen is puur leren.
Je ziet daar toevallig een voorbeeld function staan:
code:
1
2
3
4
5
| public function numberAction()
{
$number = mt_rand(0, 100);
//etc |
Dat dit dan een 'random nummer' geeft moet je even voor lief nemen. Zat programmeurs die moeten googlen voor "PHP how to generate a random number". Zolang jij maar de basis klaar hebt staan (een class met een functie) dan vind je de rest ook wel vanzelf.
Vervolgens zou ik een doel voor ogen hebben. Volg gewoon eerst wat guides om bijvoorbeeld een simpele nieuws pagina te maken. Daarna zou je ook zelf een opdracht kunnen maken. Zoals ik wil een administratief systeem voor thuis hebben.
Op basis van de handleidingen en trial & error zou je je daar doorheen kunnen werken.
Als laatste stap als je wat -basis- ervaring hebt gedaan is een stage zoeken. 20 weken stage of welke periode dan ook verslaat elke andere manier dan ook om te leren. Als je een goed bedrijf weet te vinden waar je wat aardige gasten om je heen hebt die je a ) in het diepe durven te gooien en b ) je goede opdrachten geven en c ) gedegen ondersteuning geven, tja dan kom je heel rijk thuis na zo'n stage periode
Het belangrijkste is dat je moet vergeten dat je -alle- functionaliteiten en syntaxen van een taal -moet- weten. Echt fuck ik ben soms zo rusty dat ik zelfs een google opdracht moet doen hoe ik ook al weer een switch statement op papier krijg
Het belangrijkste is dat ik -weet- dat een switch hier DE juiste oplossing is, en dat ik dit moet implementeren.