Ik gebruik het de afgelopen 4 jaar voor elk maatwerk project, maar het ligt eraan hoe 'simpel' je website echt is.Verwijderd schreef op vrijdag 11 november 2016 @ 22:25:
Ik lees veel terug over Laravel, en heb zelf ook even op het internet gekeken.
Maar is het voor een zeer simpele webshop of website wel handig om zo'n heel framework erbij te pakken?
In mijn ervaring begint alles heel simpel en blijf je het vaak uitbouwen, totdat je eigenlijk grote delen aan het namaken bent. Laravel bevat gewoon veel zaken out-of-the-box die het makkelijk maken. En waarschijnlijk denk je die nu niet eens nodig te hebben.
Nu is het leuk om zelf je database classes te schrijven, maar dat wordt gewoon steeds complexer. Een voorbeeldje wat je nu hebt, is bijna zonder custom code te schrijven, op basis van 2 simpele Models:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
| <?php class Product extends Illuminate\Database\Eloquent\Model { public function getPriceWithDiscountAttribute() { return $this->attributes['unit_price'] - ($this->attributes['discount'] / 100); } public function category() { return $this->belongsTo(Category::class); } } class Category extends Illuminate\Database\Eloquent\Model { public function products() { return $this->hasMany(Product::class); } } // Create project from array $product = Product::create([ 'name' => 'test', 'description' => 'Test', 'unit_price' => 6.84, 'discount' => 5, ]); if (!$product->exists){ echo 'Product is niet toegevoegd!'; } // Get all products $products = Product::all(); if ($products->count() > 0) { foreach ($products as $product) { echo $product->name .': ' . $product->price_with_discount; if ($product->category) { echo $product->category->title; } } } else { echo 'Geen producten gevonden'; } // Find by id, update attribute $product = Product::find(3); $product->name = 'New name'; $product->save(); // Or delete $product->delete(); // Use query builder $foodProducts = Product::where('unit_price', '>', 10)->orderBy('name')->paginate(50); $category = Category::find(2); foreach ($category->products as $product) { echo $product->name; } |
En je gaat gegarandeerd tegen dingen aanlopen als routing (nette urls, hoe krijg je die parameters netjes naar de goede controller), templating (hoe hou je presentatie overzichtelijk en escape je output goed), authenticatie (inloggen etc), caching, notificaties, background taken (queues), cli commando's, verschillende configuraties, validaties, etc etc. Lees maar gewoon een keer de docs door als je je verveelt