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

User bootstrap and CSS

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