Laravel 12.x karkasas. Projekto struktūra (katalogai, failai, paketai)
Katalogai
app
katalogasŠiame kataloge saugomi pagrindiniai projekto failai. Pagal nutylėjimą
app/Models
kataloge saugomi modeliai, o kataloge app/Http/Controllers
- valdikliai.bootstrap
katalogasŠiame kataloge yra
app.php
failas, kuris paleidžia Laravel karkasą.PASTABA. Šis katalogas neturi nieko bendro su Bootstrap karkasu.
config
katalogasŠiame kataloge saugomi įvairūs konfigūraciniai failai. Rekomenduojama peržiūrėti visus šiuos failus, kad žinotumėte, kokias galimybes jums suteikia Laravel karkasas.
database
katalogasŠiame kataloge saugomi įvairūs išoriniai su duomenų baze susiję failai. Kataloge
database/migrations
saugomi migracijų failai, kataloge database/seeders
- failai, kuriuose aprašomi iš anksto nustatyti pradiniai lentelių duomenys, o kataloge database/factories
- failai, kurie padeda ištestuoti duomenų bazės įrašus.public
katalogasŠiame kataloge saugomi projekto viešai prieinami resursai, tokie kaip paveiksliukai, stilių failai, JavaScript failai ir kt.
resources
katalogasŠiame kataloge saugomi projekto neapdoroti (viešai neprieinami) resursai, tokie kaip LESS, SASS failai ir kt. Taip pat kataloge
resources/views
saugomi projekto vaizdai.routes
katalogasŠiame kataloge saugomi maršrutų (nuorodų) failai. Projekto maršrutai yra aprašomi
web.php
faile, o maršrutai, susiję su kokia nors API, aprašomi api.php
faile.storage
katalogasŠis katalogas turi
app
, framework
ir logs
katalogus. Kataloge storage/app
galima saugoti failus, kuriuos sukuria (sugeneruoja) jūsų sistema. Kataloge storage/framework
saugomi failai, kuriuos generuoja pats Laravel karkasas, pvz., sesijų failai, sukompiliuoti vaizdai ir kt. O kataloge storage/logs
saugomi žurnalo failai.tests
katalogasŠiame kataloge saugomi automatinio testavimo failai, tokie kaip modulių testai (angl. unit tests) ir kt.
vendor
katalogasŠiame kataloge saugomi visi jūsų projekto naudojami paketai.
PASTABA. Jokiu būdu nedarykite pakeitimų šiame kataloge esančiuose failuose, net jeigu kokia nors projekto klaida ves į šį katalogą, kitaip negalėsite atnaujinti čia esančių paketų ir jūsų projektas gali nustoti veikti! Ieškokite klaidos savo parašytame programiniame kode, o ne svetimuose paketuose!
Failai
Taip pat reiktų paminėti porą svarbių failų, kurie yra šakniniame kataloge:1)
.env
failasŠiame faile yra kai kurie svarbiausi Laravel nustatymai. Paleidus projektą Laravel karkasas pirmiausia šiame faile ieškos jūsų projekto nustatymų, o jų neradęs toliau ieškos
config
kataloge.2)
composer.json
failasŠiame faile rasite sąrašą paketų, kuriuos naudoja jūsų projektas. Taip pat jame galima nurodyti tam tikrus jūsų projekto nustatymus, jeigu projektą norėsite publikuoti PHP paketų saugykloje Packagist.
Darbas su paketais
1) Norėdami įdiegti naują paketą, komandinėje eilutėje įvykdykite komandą (vietoj paketo_pavadinimas turite įrašyti egzistuojantį paketo pavadinimą):composer require paketo_pavadinimas
2) Norėdami atnaujinti visus projekte esančius paketus į naujesnes versijas, komandinėje eilutėje įvykdykite komandą:
composer update
PASTABA. Šią komandą rekomenduoju įvykdyti kartą į savaitę ar bent kartą į mėnesį, kad jūsų sistema naudotų paskutines paketų versijas ir tokiu būdu būtų išvengta galimų klaidų.3) Norėdami ištrinti projekte esantį paketą, suraskite jo pavadinimą
composer.json
faile ir ištrinkite jo eilutę, o tada komandinėje eilutėje įvykdykite komandą:
composer update
Daugiau apie Laravel projekto struktūrą skaitykite oficialioje Laravel 12.x dokumentacijoje, skiltyje Directory Structure.