Adresářová struktura

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.

App

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í).

Bootstrap

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.

Config

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í.

Database

Adresář database obsahuje všechny databázové migrace a seedy.

Public

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.

Resources

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.

Routes

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.

Storage

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é.

Tests

Adresář tests obsahuje všechny intergrační testy (adresář Feature) a jednotkové testy (adresář Unit).

Vendor

Adresář vendor obsahuje všechny Composer balíčky.