Add
• composer create-project symfony/website-skeleton symfony8
• cd symfony8
• php bin/console make:controller
>AddController
• composer php/bin server:start
• http://localhost:8000/copy
Vederea base.html.twig
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>{% block title %}Welcome!{% endblock
%}</title>
{% block stylesheets %}{% endblock %}
</head>
<body bgcolor="aquamarine">
{% block body %}{% endblock %}
{% block javascripts %}{% endblock %}
</body>
</html>
Vederea add/index.html.twig
{% extends 'base.html.twig' %}
{% block title %}Add!{% endblock %}
{% block body %}
{{head|raw}}
{{ form_start(form) }}
{{ form_row(form.nume1,{'value': value1 }) }}
{{ form_row(form.nume2,{'value': value2 }) }}
{{ form_row(form.nume3,{'value': value3 }) }}
{{ form_row(form.submit) }}
{{ form_row(form.nume4,{'value': value4 }) }}
{{ form_end(form) }}
{% endblock %}
Controller-ul AddController
<?php
namespace AppController;
use SymfonyComponentRoutingAnnotationRoute;
use
SymfonyBundleFrameworkBundleControllerControlle
r;
use SymfonyComponentHttpFoundationRequest;
use SymfonyComponentHttpFoundationResponse;
use SymfonyComponentForm;
use
SymfonyComponentFormExtensionCoreTypeTextType;
use
SymfonyComponentFormExtensionCoreTypeSubmitType
;
class AddController extends Controller
{
/**
* @Route("/add", name="add")
*/
public function index(Request $request)
{
$data=[];
$form=$this->createFormBuilder()
->add('nume1', TextType::class,
array('attr'=>array('size'=>'30','placeholder'=>'0'),'label'=>false))
->add('nume2', TextType::class,
array('attr'=>array('size'=>'1','value'=>'+'),'label'=>false))
->add('nume3', TextType::class,
array('attr'=>array('size'=>'30','placeholder'=>'0'),'label'=>false))
->add('submit', SubmitType::class, array('label'=>'='))
->add('nume4', TextType::class,
array('attr'=>array('size'=>'30','placeholder'=>'0'),'label'=>false,'required'
=> false))
->getForm();
$form->handleRequest($request);
$data['head']="<h1>Input your data</h1>";
$data['form']=$form->createView();
if($form->isSubmitted()){
$data['value1'] = $form->get('nume1')->getData();
$data['value2']='+';
$data['value3'] = $form->get('nume3')->getData();
$data['value4']=$data['value1']+$data['value3'];
}else {
$data['value1']=0;
$data['value2']=0;
$data['value3']=0;
$data['value4']=0;
}
return $this->render('add/index.html.twig', $data);
}
}

10. add in Symfony 4

  • 1.
  • 2.
    • composer create-projectsymfony/website-skeleton symfony8 • cd symfony8 • php bin/console make:controller >AddController • composer php/bin server:start • http://localhost:8000/copy
  • 3.
    Vederea base.html.twig <!DOCTYPE html> <html> <head> <metacharset="UTF-8"> <title>{% block title %}Welcome!{% endblock %}</title> {% block stylesheets %}{% endblock %} </head> <body bgcolor="aquamarine"> {% block body %}{% endblock %} {% block javascripts %}{% endblock %} </body> </html>
  • 4.
    Vederea add/index.html.twig {% extends'base.html.twig' %} {% block title %}Add!{% endblock %} {% block body %} {{head|raw}} {{ form_start(form) }} {{ form_row(form.nume1,{'value': value1 }) }} {{ form_row(form.nume2,{'value': value2 }) }} {{ form_row(form.nume3,{'value': value3 }) }} {{ form_row(form.submit) }} {{ form_row(form.nume4,{'value': value4 }) }} {{ form_end(form) }} {% endblock %}
  • 5.
    Controller-ul AddController <?php namespace AppController; useSymfonyComponentRoutingAnnotationRoute; use SymfonyBundleFrameworkBundleControllerControlle r; use SymfonyComponentHttpFoundationRequest; use SymfonyComponentHttpFoundationResponse; use SymfonyComponentForm; use SymfonyComponentFormExtensionCoreTypeTextType; use SymfonyComponentFormExtensionCoreTypeSubmitType ;
  • 6.
    class AddController extendsController { /** * @Route("/add", name="add") */ public function index(Request $request) { $data=[]; $form=$this->createFormBuilder() ->add('nume1', TextType::class, array('attr'=>array('size'=>'30','placeholder'=>'0'),'label'=>false)) ->add('nume2', TextType::class, array('attr'=>array('size'=>'1','value'=>'+'),'label'=>false)) ->add('nume3', TextType::class, array('attr'=>array('size'=>'30','placeholder'=>'0'),'label'=>false)) ->add('submit', SubmitType::class, array('label'=>'=')) ->add('nume4', TextType::class, array('attr'=>array('size'=>'30','placeholder'=>'0'),'label'=>false,'required' => false)) ->getForm(); $form->handleRequest($request);
  • 7.
    $data['head']="<h1>Input your data</h1>"; $data['form']=$form->createView(); if($form->isSubmitted()){ $data['value1']= $form->get('nume1')->getData(); $data['value2']='+'; $data['value3'] = $form->get('nume3')->getData(); $data['value4']=$data['value1']+$data['value3']; }else { $data['value1']=0; $data['value2']=0; $data['value3']=0; $data['value4']=0; } return $this->render('add/index.html.twig', $data); } }