Symfony 4 marks
Install
composer create-project symfony/skeleton my-project
# optional
composer require symfony/web-server-bundle --dev
composer require sensiolabs/security-checker --dev
# start dev server
php bin/console server:start 0.0.0.0:8000
Controllers
Make it faster:
php bin/console make:controller
Routes
test routes
php bin/console debug:router
By config file (config/routes.yaml)
app_lucky_number:
path: /lucky/number
controller: App\Controller\LuckyController::number
By annotations in controller
composer require annotations
use Symfony\Component\Routing\Annotation\Route;
/**
* @Route("/test", name="test")
*/
public function index() {}
Template
https://symfony.com/doc/current/templating.html
Twig syntax examples:
- var name - say somthing
do somthing
{# ... #} - comments
- filter example
Using assets
composer require symfony/asset
Using Webpack Encore
https://symfony.com/doc/current/frontend.html#webpack-encore
composer require encore
npm install -g yarn
yarn install
# build
yarn encore dev
# build and watch
yarn encore dev --watch
#build prod
yarn encore production
### ENABLE SCSS
yarn add sass-loader@^7.0.1 node-sass --dev
## use full features
# https://symfony.com/doc/current/frontend/encore/postcss.html
yarn add --dev postcss-loader autoprefixer
# adds bootstrap support
yarn add bootstrap --dev
yarn add jquery popper.js --dev
# Using react support https://symfony.com/doc/current/frontend/encore/reactjs.html
yarn add --dev @babel/preset-react
yarn add react react-dom prop-types