====== Laravel ====== [[/informatique/php/laravel_1|Ancienne page Laravel]] avant la version 12, mais avec plein de packages ;-) ===== Installation ===== ==== Version 1 ==== Plusieurs façons d'installer Laravel: * Avec son [[https://laravel.com/docs/12.x/installation#installing-php|Installateur]] * Qui vous propose de choisir un [[https://laravel.com/docs/12.x/starter-kits#creating-an-application|Starter-Kit]] entre Vue, React ou Livewire * pour d'autres starter-kit voir la suite Ou "à la mano" : composer create-project "laravel/laravel" mon-projet cd mon-projet composer update npm install Pour continuer avec [[https://laravel.com/docs/12.x/sail|sail]] pour dockeriser les services web, db, redis,... composer require laravel/sail --dev ./artisan sail:install ./artisan sail:publish ln -s ./vendor/bin/sail ./sail * ''sail:install'' demande quels services activer, il créé le ''docker-compose'' correspondants. * Le ''sail:publish'' copie les configurations docker pour les customiser au besoin Adapter le ''.env'' pour sélectionner les services db, session, queue, cache ainsi que le mapping de ports pour docker pour éviter les conflits: ''APP_PORT'', ''FORWARD_DB_PORT'' ./sail up -d ==== Version 2 ==== ## Install with sail ```bash # curl -s "https://laravel.build/?with=mariadb,redis,selenium,mailpit&devcontainer" | bash curl -s "https://laravel.build/mon-projet-app?with=mariadb,redis" | bash latest: Pulling from laravelsail/php84-composer Digest: sha256:a2716e93e577c80bca7551126056446c1e06cb141af652ee6932537158108400 Status: Image is up to date for laravelsail/php84-composer:latest WARN TTY mode requires /dev/tty to be read/writable. Creating a "laravel/laravel" project at "./financial-stocks-market-app" Installing laravel/laravel (v12.9.0) ... ``` ## edit .env pour éviter conflit avec serveurs locaux, droits utilisateurs... WWWGROUP=1001 WWWUSER=1001 APP_PORT=3000 FORWARD_DB_PORT=3308 DB_DATABASE=financial-stocks-market DB_USERNAME=root DB_PASSWORD=root SESSION_DRIVER=redis CACHE_STORE=redis ## util ln -s vendor/bin/sail ./sail ## Config docker Pour modifier la config docker ``` ./sail up -d ./sail artisan sail:publish ./sail down ``` ## Activer supervisord dans docker/8.4/supervisord.conf [program:horizon] command=/usr/bin/php /var/www/html/artisan horizon autostart=true autorestart=true user=sail redirect_stderr=true stdout_logfile=/var/www/html/storage/logs/horizon.log stopwaitsecs=360 ## Reconstruire les containers dockers et relancer sail ./sail build ./sail up -d ## Horizon to view queue workers ./sail composer require laravel/horizon ./sail artisan horizon:install ## debugbar ./sail composer require barryvdh/laravel-debugbar --dev ## filament ./sail composer require filament/filament:"^4.0" --update-with-all-dependencies ./sail artisan filament:install --panels ## create database tables ./sail artisan migrate:fresh ## filamanent user ./sail artisan make:filament-user --name="SuperMan" --email="superman@internet.eu" --password="secret123" ## javascript stuff ./sail npm install ./sail npm run build ## Yeah! - http://localhost:3000/ - http://localhost:3000/admin ==== Autres starter-kits ==== * [[https://laraveldaily.com/post/how-to-install-laravel-breeze-laravel-12|How to (Still) Use Laravel Breeze in Laravel 12]] * [[https://github.com/LaravelDaily/starter-kit|Blade Starter Kit]]