Symfony4 frissítés

Néhány dolog változott a 3-as symfony verzió óta, ezért egy új telepítés során felmerülő parancsok és megoldások kerülnek most bemutatásra.

Symfony 4.3 telepítés lépései:
# wget https://get.symfony.com/cli/installer -O - | bash

# mv /root/.symfony/bin/symfony /usr/local/bin/symfony

Ha szokásos nagy weboldalt vagy web applikációt szeretnénk fejleszteni, akkor a teljes verziót tegyük fel:
# symfony new --full --version=4.3 projekt_nev

Ha microservice-et szeretnénk fejleszteni:
# symfony --version=4.3 new projekt_nev

A gyökérbe a .env fájlba kerültek a beállítások pl a környezet beállítása is pl:
APP_ENV=dev
A src mappából kiköltözött a templates mappába az összes view.
Eddigi modulokból csak 1 modul maradt az App és abban van minden, de ha szükséges lehet csinálni modulokat.
Assets mappába kerültek a css és js fájlok és onnan fordítjuk majd webpack-el a public/build mappába le őkket.
A translatations mappa is kikerült az src-ből.

Ha a következő üzenetet kapjuk: "An error occurred while loading the web debug toolbar.", akkor tegyük fel a profiler-t így:
# composer require profiler --dev

.htaccess fájl generálása a public mappába:
# composer require symfony/apache-pack

Létező táblákat beolvasni a db-ből és entity-t generál:
# php bin/console doctrine:mapping:import "App\Entity" annotation --path=src/Entity

Generálhatunk get-set metódusokat:
# php bin/console make:entity --regenerate App

Új migrációs fájl készítése a migrations mappába:
# php bin/console make:migration

Migráció lefutattása:
# php bin/console doctrine:migrations:migrate

Cache ürítése:
# php bin/console cache:clear --env=prod

Konfiguráljunk webpack-et. Első lépésnek az encore-t tegyük fel, majd a yarn-t:
# composer require encore

Yarn telepítés
# curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -
# echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list
# apt-get update && apt-get install yarn
# yarn --version

A projekt mappában a yarn-t hozzáadjuk:
# yarn install
# yarn add @symfony/webpack-encore --dev
vagy
# npm install @symfony/webpack-encore --save-dev

Yarn parancsok:
# yarn add webpack-notifier --dev // telepíthetjük a webpack-notifier-t
# yarn encore dev // lefordítja a kódot
# yarn encore dev --watch // minden változáskor automatikusan lefordul a kód
# yarn encore production // a production környezetbe szánt build készül

Yarn-al is telepíthetjük pl a jquery-t:
# yarn add jquery --dev

A webpack.config.js -ben adhatjuk meg, hogy hol találhatóak a css és js fájljaink. Majd a webpack hova fogja lefordítani őket. Bekapcsolható a sass vagy less fordító, készít sourcemap-et és ha production buildet csinálunk, akkor .min fájlokat készít, hogy a lehető legkisebbek legyenek a fájljaink.
.setOutputPath('public/build/')
.setPublicPath('/build')

.enableSassLoader()
.enableLessLoader()

.addEntry('app', './assets/js/app.js')
.addEntry('jquery', './assets/vendor/jquery/jquery.min.js')

.copyFiles([
    {from: './assets/valami/', to: 'valami/[path][name].[ext]'},
])

.cleanupOutputBeforeBuild()
.enableBuildNotifications()
.enableSourceMaps(!Encore.isProduction())
.enableVersioning(Encore.isProduction())

Olvasnivaló:
https://symfony.com/doc/current/frontend.html
https://symfony.com/doc/current/frontend/encore/installation.html
https://symfony.com/doc/current/frontend/encore/simple-example.html
https://symfony.com/doc/current/frontend/encore/css-preprocessors.html
https://symfony.com/doc/current/frontend/encore/legacy-applications.html
https://yarnpkg.com/lang/en/docs/install/#debian-stable
2019.06.23.