Laravel: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
(→Links) |
|||
(10 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
= Links = | = Links = | ||
* [[Laravel-Validierung]] | * [[Laravel-Validierung]] / [https://laravel.com/docs/10.x/validation#available-validation-rules Vordefinierte Regeln] | ||
* [[Datenbank-Laravel]] | |||
* [[Komponenten-Laravel]] | |||
= Projekt einrichten = | = Projekt einrichten = | ||
Zeile 47: | Zeile 49: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
= | = Projekt aktualisieren = | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
composer | npm install | ||
php artisan | npm run dev | ||
</syntaxhighlight> | |||
= Deployment (Produktivversion) = | |||
== Update mittels Git == | |||
* Basisverzeichnis sei BASE=/srv/www/taskx | |||
<syntaxhighlight lang="bash"> | |||
PROJ=taskx | |||
BASE=/srv/www/$PROJ | |||
REPO=/home/git/repo/$PROJ.git | |||
cd $BASE | |||
git clone $REPO | |||
ln -s $PROJ/public public | |||
# composer cache: | |||
chown -R www-data:www-data /var/www | |||
</syntaxhighlight> | |||
* Kopieren der Datei .env vom Entwicklungsserver und anpassen | |||
<pre> | |||
APP_URL=... | |||
APP_KEY= | |||
APP_DEBUG=false | |||
APP_ENV=production | |||
LOG_LEVEL=error # debug, info, notice, warning, error, critical, alert, emergency. | |||
DB_HOST=... | |||
DB_DATABASE=... | |||
DB_USERNAME=... | |||
DB_PASSWORD=... | |||
MAIL_... | |||
</pre> | |||
<syntaxhighlight lang="bash"> | |||
php artisan key:generate | |||
</syntaxhighlight> | </syntaxhighlight> | ||
= | == Update-Prozess == | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
sudo -u www-data -s | |||
composer update --optimize-autoloader --no-dev | |||
php artisan migrate | |||
php artisan db:seed | |||
php artisan config:cache | |||
php artisan event:cache | |||
php artisan route:cache | |||
php artisan view:cache | |||
php artisan optimize | |||
php artisan storage:link | |||
npm install | npm install | ||
npm run | npm run build | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Zeile 105: | Zeile 148: | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
php artisan make:seeder PermissionSeeder | php artisan make:seeder PermissionSeeder | ||
php artisan make:migration create_${TABLE}_table | |||
php artisan migrate:fresh --seed | php artisan migrate:fresh --seed | ||
php artisan make:controller RoleController --resource | php artisan make:controller RoleController --resource |
Aktuelle Version vom 30. November 2024, 19:47 Uhr
Links
Projekt einrichten
PROJ=langutor
PASSW=topsecret
BASE=/home/ws/php/$PROJ
cd $(basename $BASE)
composer create-project laravel/laravel $PROJ
cd $BASE
composer require laravel/ui
composer require spatie/laravel-permission
#composer require blade-ui-kit/blade-icons
php artisan ui bootstrap --auth
dbtool create-db-and-user lrv$PROJ $PROJ "$PASSW"
sed -i -e "s/DB_DATABASE=.*/DB_DATABASE=lrv$PROJ/" \
-e "s/DB_USERNAME=.*/DB_USERNAME=$PROJ/" \
-e "s/DB_PASSWORD=.*/DB_PASSWORD=$PASSW/" .env
M_HOST=mail.gmx.net
M_PORT=587
M_USER=example@gmx.de
M_PW=Top.Secret42
sed -i -e "s/MAIL_MAILER=.*/MAIL_MAILER=smtp/" \
-e "s/MAIL_HOST=.*/MAIL_HOST=$M_HOST/" \
-e "s/MAIL_PORT=.*/MAIL_PORT=$M_PORT/" \
-e "s/MAIL_USERNAME=.*/MAIL_USERNAME=$M_USER/" \
-e "s/MAIL_PASSWORD=.*/MAIL_PASSWORD=$M_PW/" \
-e "s/MAIL_ENCRYPTION=.*/MAIL_ENCRYPTION=STARTTLS/" \
-e "s/MAIL_FROM_ADDRESS=.*/MAIL_FROM_ADDRESS=\"$M_USER\"/" .env
Bootstrap 5
- app\Providers\AppServiceProvider.php
use Illuminate\Pagination\Paginator;
/**
* Bootstrap any application services.
*
* @return void
*/
public function boot()
{
Paginator::useBootstrapFive();
}
Projekt aktualisieren
npm install
npm run dev
Deployment (Produktivversion)
Update mittels Git
- Basisverzeichnis sei BASE=/srv/www/taskx
PROJ=taskx
BASE=/srv/www/$PROJ
REPO=/home/git/repo/$PROJ.git
cd $BASE
git clone $REPO
ln -s $PROJ/public public
# composer cache:
chown -R www-data:www-data /var/www
- Kopieren der Datei .env vom Entwicklungsserver und anpassen
APP_URL=... APP_KEY= APP_DEBUG=false APP_ENV=production LOG_LEVEL=error # debug, info, notice, warning, error, critical, alert, emergency. DB_HOST=... DB_DATABASE=... DB_USERNAME=... DB_PASSWORD=... MAIL_...
php artisan key:generate
Update-Prozess
sudo -u www-data -s
composer update --optimize-autoloader --no-dev
php artisan migrate
php artisan db:seed
php artisan config:cache
php artisan event:cache
php artisan route:cache
php artisan view:cache
php artisan optimize
php artisan storage:link
npm install
npm run build
Artisan Kommandos
make:controller
php artisan make:controller RoleController --invokable
- app/Http/Controllers/RoleController
class RoleController extends Controller{ public function __invoke(Request $request){} }
- web.php:
Route::post('/role', RoleController::class);
php artisan make:controller RoleController --resource Erzeugt eine Date
- app/Http/Controllers/RoleController
class RoleController extends Controller{ public function index(){} public function create(){} public function store(Request $request){} public function show(string $id){} public function edit(string $id){} public function update(Request $request, string $id){} public function destroy(string $id){} }
make:view
php artisan make:view role.index
- resources/views/role/index.blade.php
<div> <!-- ... --> </div>
Sonstige
php artisan make:seeder PermissionSeeder
php artisan make:migration create_${TABLE}_table
php artisan migrate:fresh --seed
php artisan make:controller RoleController --resource
php artisan make:request StoreRoleRequest
php artisan make:view users.index
Integrierter Webserver
php artisan serve
I18N
- config/app.php
'locale' => 'de_DE', 'available_locales' => [ 'English' => 'en', 'German' => 'de_DE', ],
- resources/lang/de_DE.json
{ "Cancel": "Abbrechen", "OK": "OK", "Save": "Speichern" }