Welk framework?
Welke raden jullie aan?
Welk framework is populair in het bedrijfsleven en waarmee maak je dus goede kans op een baan?
Voor het bedrijfsleven is Symfony denk ik momenteel het handigst, aangezien Laravel meer de "personal-usage feeling" heeft. Vooral in Nederland is Symfony best groot.
Merk op dat bedrijven vaak refereren naar een MVC framework in het algemeen. Het maakt dus allemaal niet zo heel veel uit, zolang je maar de basis gedachtes en design patterns achter frameworks kent. Zodra je eenmaal één framework goed kan gebruiken, kun je andere frameworks sneller leren.
Persoonlijk: Waar ik werk gebruiken we Flow, omdat het mooi aansluit op Typo3. Maar uit ervaring kan ik zeggen dat dit framework niet heel bekend is.
Daarbij denk ik ook aan goede ondersteuning, duidelijke documentatie etc.
Ik neig zelf enigszins naar symphony of cakephp eigenlijk.
Wat is jouw mening daarover?
Flow is niet echt een bekend framework en aangezien ik toch graag bij een bedrijf wil gaan werken lijkt het me handiger een framework te kiezen wat bekender is.
Laravel is op moment inderdaad enorm populair heb ik gelezen. Maar wat ik zo snel even zag zijn ze net als Zend enorm gericht op betaalde cursussen.
Symfony vind ik wat professioneler en vind ik persoonlijk net iets fijner mee werken dan laravel, echter is het wel een stuk moeilijker om te leren.
Cakephp is volgens mij het meest populair binnen Nederland (?) maar zelf heb ik er niet veel ervaring mee. Ik weet wel dat ze net hun v3 uitgebracht hebben dus als er een moment is om ernaar te kijken is het nu ;) Kijk wel uit dat je niet te framework-specifiek kennis opdoet, maar zorg dat je, zoals Wouter zegt, meer de structuur leert kennen waardoor je in principe elk framework kunt gebruiken.
Ik heb jaren geleden een cursus php gedaan. Toen me meer op webdevelopment gericht en daarna op template building voor joomla. Sinds kort bezig met theme building voor wordpress, aangezien dat razend populair is. Ik wil hier straks een uitbreiding in maken met plugins en eigen cms systemen voor websites en webwinkels. Voor template/theme building heb je op zich weinig php nodig uiteraard. Maar om eigen cms systemen te bouwen lijkt een framework me enorm handig. En dan in combinatie met bijv bootstrap. Maar aangezien ik niet weet of ik het red om voor mezelf te beginnen wil ik ook goede onderhandelingspositie hebben voor werkgevers. Ben daar nog niet geheel uit. Probleem als je voor jezelf wil beginnen is dat je eigenlijk overal wel kennis van nodig heb. En ga je voor iemand werken met meer mensen in dienst dan kan je nog eens raad vragen bij je collega's. Ik wil binnen een jaar zo ver zijn dat mijn kennis op een goed niveau is in ieder geval en die tijd heb ik ook wel. En ja dat betekent veel scripten :) maar dat is niet erg.
https://octobercms.com/ wat gebouwd is met laravel. Je moet echter wel verstand hebben van Object Oriented Programming (OOP), anders gaat het heel lastig worden.
Dan zou ik je aanraden laravel te leren, wat echt heel makkelijk is. En dan misschien eens kijken naar octobercms; Ok bedankt :)
Ik zou voor Symfony gaan, als je een goede kans op een baan wilt maken, ahoewel je ook wel voor Zend kunt gaan, aangezien veel bedrijven in brabant met Zend werken, maar langzamerhand beginnen ze over te stappen naar Symfony. Wat ik wel een behoorljke nadeel vindt aan de meeste bedrijven is dat ze altijd vragen om HBO opleiding, terwijl dit eigenlijk niet perse een vereiste hoeft te zijn, omdat er genoeg php'ers zijn die enkel een MBO opleiding hebben, maar erg bedreven zijn in php en dan hebben ze alles zelf geleerd zonder enige opleiding. Ik zou eerder zulke mensen aannemen, aangezien ze veel meer gemotiveerd zijn. Denk hierbij bijvoorbeeld aan mensen met autisme die geen HBO opleiding hebben, maar veel beter zijn in php dan iemand met HBO opleiding.
HBO-niveau staat ook voor een bepaald denkniveau en (vaak) inzet.
Jah, dat begrijp ik en dat is ook logisch, maar als bedrijf zou ik toch uitzonderingen maken voor mensen met een MBO opleiding of mensen met autisme die erg bedreven zijn met php door hun op te leiden, want het is immers een goede investering voor je bedrijf.
Jongens dit draadje is al bijna een half jaar oud. En het antwoord is gegeven: Symfony.
Het probleem dat ik daarbij tegenkom is dat ongeacht de kwaliteit van de software het op enterprise niveau niet lekker bekt als Symfony afhankelijk is van Alpha software (1.0.0-alpha10 op het moment, zie https://getcomposer.org/download)
Je zou het raamwerk dan echt moeten 'integreren' met je eigen product en dit soort details niet noemen, in de hoop dat een groter bedrijf, zeg van meer dan 100 a 200 man er niet aan tilt en je op je intenties en support-contract gelooft.
Tsja en dan ben ik geneigd om te denken dat - als je de tijdsinvestering kunt doen - beter je eigen raamwerk kunt schrijven, omdat je dan juist alle 'gory details' tegenkomt waar Symfony ook mee te maken heeft. En het leuke van Symfony is dat het modulair is, als er een los concept of component is dat gewoon goed is, dan kun je besluiten om alleen die over te nemen. Dat is ook wel weer het fijne aan Symfony, dat dat gewoon kan, dan kan er ook een soort raamwerk groeien dat voor een deel van jezelf is en voor een deel van een ander.
Het grote voordeel is dat je je dan bewust bent van de details, en als er weer een bug gefixed moet worden dat je niet juist op het meest ongelegen moment plotseling tijd moet gaan investeren. Je weet precies wat je wel (en niet) hebt.
Bovenstaande is mijn persoonlijke voorkeur, maar het zou natuurlijk goed kunnen dat vanuit de business andere eisen gesteld worden waardoor je op een nog andere keuze komt.
Merk op dat Symfony op geen enkele manier afhankelijk is van Composer. Je kan elke component zelf downloaden als een zip/tar en de "recommended way to install Symfony" is tegenwoordig via de Symfony installer, welke zelf ook slechts een zipje download.
Offtopic:
Als Symfony documentor ben ik benieuwd naar welke stukken documentatie je mist. Naar ons weten is de grote basis volledig gedocumenteerd (er mist her en der nog wat heeele specifieke implementatie artikelen). Zou je een paar dingen in een lijstje kunnen zetten in een PM naar me?