Update README.md
Pavel Tatar authored
b264e164
Name Last commit Last update
docker new
src new
.gitignore new
README.md Update README.md
docker-compose.yml new

Laravel Logo

Laravel template

Laravel je open-source PHP framework vytvořený Taylorem Otwellem za účelem vývoje webových aplikací založených na principu architektury model-view-controller (MVC). Výhody které Laravel nabízí, jsou různé knihovny, různé způsoby pro přístup k relačním databázím. Laravel má velkou komunitu.

Tento template je vhodné si naklonovat rovnou už v GitLabu, protože projekt už bude mít pojmenování podle vašeho přání. Součástí template je i konfigurace DOCKERU.

Základní příkazy pro konfiguraci kontejnerů

Build image

docker-compose build

Toto by melo stahnout a nastavit vše potřebné

Sestaveni a spustení kontejnerů

docker-compose up  -d nebo
docker-compose up -d --build

V tuto chvili by mel byt docker projekt ready na http://localhost:84 viz soubor docker-compose.yml, kde to jde i změnit. --build používáme pro přegenerování image kontejneru.

http://localhost:84

ukončení kontejnerů

docker-compose down  

Potom je možné i na stejný port spustit jiný kontejner.

SQL databáze a adminer

Součásti konfigurace je SQL databáze a adminer. Najdeme jí na url:

http://localhost:84/adminer

Databáze mezi kontejnery je na portu 3306 viz soubor docker-compose.yml. Není potřeba psát do připojení k databázi IP a port. Stačí název service ze souboru docker-compose.yml vč. jména root a hesla.

mysqldb nebo laravel-mariadb-10.9.3

Neukládejte na Gitlab soubory DB, pouze sql dump. Jedná se o adresář ./data/database, který musí zůstat git ignore. Je možné si databázi přes adminer zálohovat a uložit do projektu jako soubor sql pro případ budoucího obnovení.

Seznam kontejnerů v aplikaci

Nginx

konfigurační soubor dockerfile

DockerfileNGINX

Webový server s reverzní proxy s otevřeným zdrojovým kódem. Pracuje s protokoly HTTP (HTTPS).

PHP

konfigurační soubor dockerfile

DockerfilePHP

PHP (rekurzivní zkratka PHP: Hypertext Preprocessor, česky „PHP: Hypertextový preprocesor“, původně Personal Home Page) je skriptovací programovací jazyk. Je určený především pro programování dynamických internetových stránek a webových aplikací například ve formátu HTML, XHTML či WML. PHP lze použít i k tvorbě konzolových a desktopových aplikací. Pro desktopové použití existuje kompilovaná forma jazyka.

MySQL - MariaDB

konfigurační soubor dockerfile

DockerfileMYSQL

MariaDB je relační databáze, která je komunitou vyvíjenou nástupnickou větví (tzv. „forkem“) MySQL. Hlavním důvodem k vytvoření této větve bylo udržení licence svobodného softwaru GNU GPL. Iniciativa, díky které tato větev vznikla, pochází od původních vývojářů MySQL, kteří se obávali o další osud a směřování tohoto softwaru po jeho odkoupení společností Oracle.[

Redis

konfigurační soubor dockerfile

DockerfileREDIS

Redis je úžasně jednoduché a při tom velmi mocné NoSQL in-memory key-value úložiště. Potřebujete akcelerovat vaší aplikaci jednoduše a při tom využít distribuované zdroje a současně mít redundanci nebo transakční ochranu? Tohle je úkol pro Redis.

Meilisearch

konfigurační soubor dockerfile

DockerfileMELISEARCH

Popisují se jako „otevřený zdroj, neuvěřitelně rychlý a hyperrelevantní vyhledávač, který zlepší váš zážitek z vyhledávání. Aktuální alternativy – Elasticsearch a Algolia.

Selenium Standalone Chrome - Selenium Docker

konfigurační soubor dockerfile

DockerfileCHROME

Spouštění testů Selenium v kontejnerech Docker podporuje provádění kontrol kódu agilnější rychlostí s kódem konvenčnější kvality. Výsledkem je produkt vynikající kvality.

MailHog

konfigurační soubor dockerfile

DockerfileMAILHOG

Potřebujete slepý vývojový SMTP server, který zachytí maily z aplikace či webu, ale už je nepředá dále? Pak vyzkoušejte MailHog. Funguje prakticky všude, je zadarmo a má webové rozhraní pro prohlížení zachycených zpráv.

Nastavení xdebug

Nastavení debug a portů:

Nastavení cesty k projektu a uvnitř kontejneru:

Routing

VŠE SPOUŠTÍME UVNITŘ KONTEJNERU.

Výpis rout v projektu

@laravel-php:/var/www/html$ ./artisan route:list

Konfigurace routování

Výpis směrovací tabulky (router)

@laravel-php:/var/www/html$ ./artisan route:list

Nastavení se provádí v adrrsáři routes.

/routes pro web /routes/web.php

Příklady nastavení routování web.php

Route::resource('/test', 'TestController')->only(['index', 'store', 'edit', 'update', 'destroy']);

nebo

Route::resource('/test', 'TestController')->except(['create', 'show']);

Mazání cache

php artisan config:cache
php artisan config:clear
php artisan route:clear
php artisan view:clear
php artisan view:cache

Vytvoření Controlleru

Samostatný Controller

php artisan make:controller HomepageController

Controller vč. předdefinovaných metod

php artisan make:controller HomepageController --resource

Nastavení globálních proměnných

globalni variable AppServiceProvider

Databáze ORM

informace o databazi

php artisan db:show

informace o tabulce

php artisan db:table users

Vytvoří model src\app\models

php artisan make:model Product

Vytvoří model a migrační script src\app\models src\database\migrations

php artisan make:model Product -m

Migrační script migrujeme do db

php artisan migrate

Při změně migračního scriptu

php artisan migrate:refresh

Pro vrácení poslední migrace máme příkaz

php artisan migrate:rollback

Pridání indexu

$table->index('email');

Pro přejmenování indexu můžete použít renameIndex()

$table->renameIndex('email', 'mobile_no');

Pro odstranění indexu můžete použít dropIndex()

$table->dropIndex('email', 'mobile_no');

Migraci a kontroler lze vytvořit i zvlášť.

php artisan make:model Article
php artisan make:migration --create=articles create_articles_table
php artisan make:controller --model=Article ArticleController

Chcete-li vrátit zpět poslední operaci migrace.

php artisan migrate:rollback

Můžete vrátit zpět více počet migrací.

php artisan migrate:rollback --step=5

Reset vrátí zpět všechny migrace vaší aplikace.

php artisan migrate:reset