Laravel is a [[Full Stack Framework]] written in [[PHP]]. It's a "batteries included" framework. Notably, eBay is written in it. It implements and is based around the [[MVC]] pattern. Requests come in via a routing table built in `routes/web.php`, they are routed to a controller in `app/controllers/[file].php`, imported into web. You can control the function called. The function will return a view of some kind, Inertia or Blade. API functions do not need to do return a view, only a response. Laravel makes heavy use of [[Traits]] to implement polymorphic behavior in Models. ## Frontend By default Laravel uses Blade template files. These are PHP files that have blade template tags. They can also directly include PHP code. These are the most native, but the most static. There's no reactivity. ### Inertia Inertia is a system that allows traditionally JS based frontends to integrate with Laravel. Notably, [[React]], [[Vue]], and [[Svelte]] support it. Props can be passed in the Controller. ## Cache Cache in Laravel is a global key-value store. There are 'tables', but not really. --- # References