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); } }