Výchozí adresářová struktura Laravelu poskytuje dobrý začátek pro malé i velké aplikace. Organizaci adresářů si můžete upravit podle vašich potřeb, díky autoloadingu Composeru to není žádný problém.
Adresář app
, jak asi čekáte, obsahuje hlavní kód vaší aplikace; respektive většina vašich tříd bude v tomto adresáři.
Celý adresář je pod namespace App
a je automaticky načten pomocí Composeru se standardem PSR-4.
Adresář obsahuje několik složek jako například Console
, Http
nebo Providers
. Adresáře Console
a Http
si můžeme
představit jako API pro naši aplikaci. Http protokol i CLI jsou mechanismy, které pracují s naší aplikací, ale
neobsahují aplikační logiku. Adresář Console
obsahuje všechny vaše Artisan příkazy, zatímco Http
adresář obsahuje
vaše controllery, middleware a requesty.
Mnoho dalších adresářů v app
můžeme vytvořit pomocí Artisan příkazu make pro vygenerování tříd. Například adresář
app/Jobs
neexistuje do té doby, než zavoláte Artisan příkaz make:job
pro vygenerování job třídy. Příkazem
php artisan list make
si můžete zobrazit všechny příkazy, které můžete využít pro vygenerování tříd
(a jejich adresářů pokud ještě neexistují).
Adresář bootstrap
obsahuje soubory, které nastartují framework a nakonfigurují autoloading. Tento adresář také obsahuje
složku cache
, která obsahuje frameworkem generované soubory za účelem optimalizace výkonu.
Adresář config
, jak už jeho název napovídá, obsahuje všechny konfigurační soubory vaší aplikace. Je dobré si tyto
soubory projít a zjistit, jaké možnosti a nastavení nabízí.
Adresář database obsahuje všechny databázové migrace a seedy.
Adresář public
obsahuje soubor index.php
, který je vstupním bodem při všech požadavcích na vaši aplikaci. Adresář
také obsahuje obrázky, javascript nebo css soubory.
Adresář resources
obsahuje všechny pohledy (views) a nezkompilované soubory, jako například SASS, LESS nebo javascript.
V tomto adresáři se také nachází multijazyčné soubory pro snadný překlad.
Adresář routes
obsahuje všechny definované cesty (routes) ve vaši aplikaci. Po instalaci zde najdeme tři soubory –
web.php
, api.php
a console.php
.
Soubor web.php
obsahuje middleware web, který obsahuje všechny věci, které klasicky uživatel webu potřebuje: sessions,
cookies, CSRF ochranu apod.
Soubor api.php
je obalen middlewarem api, který slouží jako „hrdlo“ pro RESTful API.
Soubor console.php
je soubor, kde můžete definovat všechny vaše closure založené na konzolových příkazech.
Adresář storage
obsahuje zkompilované Blade šablony, sessions, cache a jiné soubory vygenerované frameworkem, případně
aplikací. Adresář obsahuje další tři složky – app
, framework
a logs
.
Adresář storage/app/public
může obsahovat uživatelsky generované soubory, jako například profilové avatary, které by
měly být veřejně dostupné.
Adresář tests
obsahuje všechny intergrační testy (adresář Feature
) a jednotkové testy (adresář Unit
).
Adresář vendor
obsahuje všechny Composer balíčky.