Terug | 29 september 2017 | BLOG

5 redenen waarom wij Laravel fan zijn

5 redenen waarom wij Laravel fan zijn

Als je je afvraagt ‘framework?’ of ‘Laravel?’, dan is dit misschien niet de meest boeiende blog… 🙂 Maar als je op zoek bent naar een goede basis voor je website, webapplicatie of webportal, lees ‘m gerust!

In een notendop: Laravel is een backend framework. Okay. En wat is een backend framework? Eigenlijk niet anders dan een verzameling mappen en bestanden met gestandaardiseerde code.

Iedere programmeur weet nog hoe hij zijn eerste PHP-website maakte. Je begon vanaf nul: ieder knopje, iedere functie voegde je handmatig toe aan je website. Langzaam groeide je website tot een bibliotheek vol handige functies. Moest je een tweede site maken? Dan pakte je de code van je eerste site en gebruikte je die als basis voor je volgende site. Zo ontstond eigenlijk je eigen framework.

Iedere programmeur weet z’n eerste PHP website nog. Vanaf nul bouwde je ieder knopje en iedere functie zelf.

Maar al gauw ontdekte je de nadelen. Want werkelijk ieder dingetje moest je zelf maken. Want hoe krijg je voor elkaar dat iemand die /contact intypt, daadwerkelijk bij je contactformulier uitkomt? En wat voor syntax moet ik gebruiken? Hoe structureer ik mijn code? En wat als andere developers mijn code moeten overnemen?

Niet verwonderlijk is het dat er al snel PHP frameworks ontstonden. CakePHP was het eerst in 2005. Daarna volgden Symfonie, CodeIgniter, Zend Framework en Kohana. Later ontstond Yii en later weer Aura en Slim, gevolgd door FuelPHP.

Eén van de gebruikers van CodeIgniter was Taylor Otwell. Hij was alleen niet helemaal tevreden. Hij ergerde zich aan de traagheid waarmee CodeIgniter zich ontwikkelde en het feit dat CodeIgniter niet gebruik maakte van moderne technieken (zoals het gebruik van namespaces in PHP 5.3 en het gebruik van GitHub en Composer). Om die reden startte Taylor zijn eigen framework… Laravel. In 2011 kwam de eerste beta online: Laravel 1.0.

En wat als andere developers mijn code moeten overnemen?

Sinds deze eerste versie is Laravel ongekend populair. Hoe komt dat? En waarom zijn wij van T100 fan van Laravel? Een vijftal redenen:

1. Schoonheid van de code

In 2011 stelde Taylor Otwell een veelzeggende vraag op StackExchange.com, een forum voor developers. Hij vraagt zich af of hij gek is dat hij soms belachelijk veel tijd besteed aan het “mooi laten uitzien” van code.

Sometimes I spend ridiculous amounts of time (hours) agonizing over making code “look pretty”. I mean making things look symmetrical. I will actually rapidly scroll through an entire class to see if anything jumps out as not looking “pretty” or “clean”. Am I wasting my time? Is there any value in this kind of behavior? Sometimes the functionality or design of the code won’t even change, I’ll just re-structure it so it looks nicer. Am I just being totally OCD or is there some benefit hidden in this?

Die houding zien we terug in Laravel. “Blije developers maken de beste code” is de niet-officiële slogan van Laravel. En de code van Laravel ís ongekend clean en mooi. Laravel is snel. En Laravel heb je binnen no-time werkend.

“Blije developers maken de beste code” is de niet-officiële slogan van Laravel.

2. Grote community

Taylor snapte dat een framework alleen succesvol kan zijn als twee zaken op orde zijn: goede documentatie en een enthousiaste community. Beide elementen waren bij Laravel vanaf het prille begin aanwezig. De documentatie is laagdrempelig geschreven en bevat veel codevoorbeelden. Daarnaast ontstonden er vele andere initiatieven, zoals Laracasts van Jeffrey Way en Laracon conferenties waardoor Laravel al snel een enorme community kreeg.

De ingrediënten voor een succesvol framework? Goede documentatie en een enthousiaste community!

3. De database laag

Eén van de mooie dingen in Laravel is de manier waarop Laravel communiceert met de database. Toegegeven, Laravel is zeker niet uniek met Eloquent (zo heet het), maar mooi is het wel. Niet alleen om de reden dat je met tig soorten database-platformen kan praten (MySQL, Postgres, MariaDB, of als je wilt een CSV bestand). Maar vooral om de “schone” manier waarop je SQL queries kunt uitvoeren.

Vergelijk deze query…

SELECT * FROM posts LEFT JOIN comments ON posts.id=comments.post_id WHERE scheduled<=NOW() ORDER BY posts.scheduled LIMIT 1

…maar eens met de Eloquent manier:

Posts::with('comments')->whereDate('scheduled','<=', Carbon::today()->toDateString())->orderBy('scheduled', 'desc')->first()

4. Routing

Hoe krijg je voor elkaar dat iemand die /contact intypt daadwerkelijk bij de contactpagina uitkomt? In Laravel is het super simpel. Een speciaal routebestand zorgt dat het juiste request met de juiste methode wordt verbonden.

Route::get('nieuwsberichten', 'NewsController@index');

Nu is het zo dat veel routes iedere keer dezelfde opzet hebben. Nieuwsberichten kunnen getoond, bewerkt en verwijderd worden. Dat houdt in dat je al gauw een heel aantal routes verder bent. Niet in Laravel. Laravel heeft al deze zogenaamde CRUD-routes gebundeld in 1 methode:

Route::resource('nieuwsberichten', NewsController');

Daarmee komt een request naar nieuwsberichten/23/edit automatisch terecht bij NewsController@edit. Hoe makkelijk wil je het hebben?

5. Authenticatie en autorisatie

De meeste webapplicatie hebben veel dezelfde onderdelen. Je moet kunnen inloggen. En natuurlijk een wachtwoord-reset-functie. Met 1 commando voorziet Laravel je van al deze benodigdheden: php artisan make:auth. En voilà, je hebt alle benodigdheden om te kunnen inloggen.

Wil je een stapje verder en wil je ook rechten kunnen toewijzen aan personen? Zodat Pietje alleen blogberichten mag lezen en Jantje de berichten mag schrijven? Laravel heeft een heel palet aan autorisatiemogelijkheden. Door middel van “Gates” kun je bepalen of een gebruiker bevoegd is om een handeling uit te voeren. Dit kun je vervolgens overal opvragen: in controllers of in de templates.

Zo zijn er nog veel meer voordelen te bedenken. Wat te denken van Testing (Browser Tests!)? Of de Queues en de Scheduler? Of de Blade Engine?

Zijn er eigenlijk ook nadelen?

Tuurlijk. Iets wat je je kunt afvragen of Laravel niet heel afhankelijk is van Taylor Otwell. Die vraag werd een paar jaar geleden op Reddit gesteld. Daarop maakte Taylor Otwell bekend dat er “noodplan” is: in dat geval neemt Jeffrey Way Laravel over. Toch blijft het een terechte vraag of Laravel niet beter af zou zijn met een grotere organisatie achter zich.

Nu we het toch over Taylor Otwell hebben: wat eveneens eigenaardig is dat Taylor geen PhpStorm gebruikt als editor, maar SublimeText. Dat lijkt misschien peanuts, maar over het algemeen wordt PhpStorm toch wel als enige serieuze text editor gezien. Om die reden is het typisch dat Taylor zelf vasthoudt aan SublimeText.

Genoeg over de nadelen. Uiteindelijk vallen die compleet in het niet bij de vele voordelen. En daar genieten wij nog iedere dag van. En daarom zijn wij fan van Laravel!

Laravel voor uw organisatie?

Benieuwd of framewerk Laravel de beste oplossing is voor jou website, webapplicatie of intranet? Neem contact met ons op! En wees niet bang. Dan praten we gewoon in begrijpelijk Nederlands 🙂

Delen op social media

Meer lezen?

Doe Excel de deur uit!

Doe Excel de deur uit!

10 november 2022
Stap een willekeurig bedrijf binnen en je komt hem tegen: de Excel-ondernemer. Iemand waarbij het groene Excelicoontje standaard in zijn taakbalk staat. Van die ondernemers 's die nachts dromen van Excel. Zo’n iemand die alles – maar dan ook echt álles – met Excel bijhoudt: inplannen van personeel, bijhouden van voorraad, berekenen van kosten en baten per medewerker, enz. enz. Oké, maar is daar wat mis mee? 🤷‍♂️
Kosten voor maatwerk software: lager dan u denkt!

Kosten voor maatwerk software: lager dan u denkt!

15 augustus 2022
Maatwerk software klinkt als een dure aangelegenheid. Maar de tijd dat software op maat vele tienduizenden euro’s kostte is voorbij. Door efficiënt te werken met de laatste technieken en door ons concurrerende uurtarief zijn de kosten vaak lager dan u denkt!
5 redenen om te kiezen voor maatwerk webapplicaties

5 redenen om te kiezen voor maatwerk webapplicaties

01 augustus 2022
Maatwerk webapplicaties kunnen veel voor uw organisatie beteken. De drempel kan hoog aanvoelen, maar in de praktijk is er vaak meer mogelijk dan u denkt. Daarom in deze blog 5 redenen waarom te kiezen voor software op maat.

Uw organisatie succesvoller?

Start samenwerking Contact

Of bel of mail ons voor een afspraak!

085 104 5400