symfony3Aan de slag met symfony3


Opmerkingen

Deze sectie geeft een overzicht van wat symfony3 is en waarom een ontwikkelaar het misschien wil gebruiken.

Het moet ook alle grote onderwerpen binnen symfony3 vermelden en een link naar de gerelateerde onderwerpen bevatten. Aangezien de Documentatie voor symfony3 nieuw is, moet u mogelijk eerste versies van die gerelateerde onderwerpen maken.

versies

Versie Publicatiedatum
3.0.0 2015/11/30
3.1.0 2016/05/30
3.2.0 2016/11/30
3.2.5 2017/03/09
3.2.6 2017/03/10
3.2.7 2017/04/05

1. Installatie van het Symfony-installatieprogramma

Het installatieprogramma vereist PHP 5.4 of hoger. Als u nog steeds de oude PHP 5.3-versie gebruikt, kunt u het Symfony-installatieprogramma niet gebruiken. Lees het gedeelte Symfony-toepassingen maken zonder het installatieprogramma voor meer informatie. - bron: http://symfony.com/doc/current/book/installation.html

2. Linux- en Mac OS X-systemen

Open uw opdrachtconsole en voer de volgende opdrachten uit:

$ sudo curl -LsS https://symfony.com/installer -o /usr/local/bin/symfony
$ sudo chmod a+x /usr/local/bin/symfony
 

3. Windows-systemen

U moet php toevoegen aan uw padomgevingsvariabele. Volg deze stappen:

Windows 7:

  • Klik met de rechtermuisknop op een pictogram Deze computer
  • Klik op Eigenschappen
  • Klik op Geavanceerde systeeminstellingen aan de linkerkant van de navigatie
  • Klik op het tabblad Geavanceerd
  • Klik op de knop Omgevingsvariabelen
  • Selecteer in het gedeelte Systeemvariabelen Pad (niet hoofdlettergevoelig) en klik op de knop Bewerken
  • Voeg een puntkomma (;) toe aan het einde van de string en voeg vervolgens het volledige bestandssysteempad van uw PHP-installatie toe (bijvoorbeeld C:\Program Files\PHP )
  • Blijf op OK enz klikken totdat alle dialoogvensters zijn verdwenen
  • Sluit uw opdrachtprompt en open deze opnieuw
  • gesorteerde

Windows 8 & 10

  • Zoek in Zoeken naar en selecteer vervolgens: Systeem (Configuratiescherm)
  • Klik op de link Geavanceerde systeeminstellingen.
  • Klik op omgevingsvariabelen.
  • Zoek in de sectie Systeemvariabelen de omgevingsvariabele PATH en selecteer deze. Klik op Bewerken. Als de omgevingsvariabele PATH niet bestaat, klikt u op Nieuw.
  • Voeg het volledige bestandssysteempad van uw PHP-installatie toe (bijv. C:\Program Files\PHP )

Open daarna uw opdrachtconsole en voer de volgende opdracht uit:

c:\> php -r "readfile('https://symfony.com/installer');" > symfony
 

Verplaats vervolgens het gedownloade symfony-bestand naar de map van uw project en voer het als volgt uit:

c:\> move symfony c:\projects
c:\projects\> php symfony
 

4. De Symfony-toepassing maken

Zodra het Symfony-installatieprogramma beschikbaar is, maakt u uw eerste Symfony-toepassing met de nieuwe opdracht:

# Linux, Mac OS X
$ symfony new my_project_name

# Windows
c:\> cd projects/
c:\projects\> php symfony new my_project_name
 

Deze opdracht kan overal worden uitgevoerd, niet noodzakelijkerwijs vanuit de map htdocs .

Met deze opdracht maakt u een nieuwe map met de naam my_project_name/ die een nieuw nieuw project bevat op basis van de meest recente stabiele beschikbare Symfony-versie. Bovendien controleert het installatieprogramma of uw systeem voldoet aan de technische vereisten voor het uitvoeren van Symfony-toepassingen. Zo niet, dan ziet u de lijst met wijzigingen die nodig zijn om aan die vereisten te voldoen.

5. Uw project baseren op een specifieke Symfony-versie

Als uw project op een specifieke Symfony-versie moet zijn gebaseerd, gebruikt u het optionele tweede argument van de nieuwe opdracht:

# use the most recent version in any Symfony branch
$ symfony new my_project_name 2.8
$ symfony new my_project_name 3.1

# use a specific Symfony version
$ symfony new my_project_name 2.8.1
$ symfony new my_project_name 3.0.2

# use a beta or RC version (useful for testing new Symfony versions)
$ symfony new my_project 3.0.0-BETA1
$ symfony new my_project 3.1.0-RC1
 

Het installatieprogramma ondersteunt ook een speciale versie genaamd lts die de meest recente beschikbare Symfony LTS-versie installeert:

$ symfony new my_project_name lts
 

Lees het Symfony Release-proces om beter te begrijpen waarom er verschillende Symfony-versies zijn en welke u voor uw projecten moet gebruiken.

Je kunt ook symfony-applicaties maken zonder het installatieprogramma, maar het was geen goed idee. Als je toch wilt, volg dan de originele tutorial op deze link:

Oficial Symfony Docs, Symfony configureren zonder het installatieprogramma

Pagina maken

Voordat u doorgaat, moet u het hoofdstuk Installatie lezen en toegang hebben tot uw nieuwe Symfony-app in de browser.

Stel dat u een pagina - / geluk / nummer - wilt maken die een geluksgetal (nou ja, willekeurig) genereert en dit afdrukt. Maak hiervoor een "Controller-klasse" en een "controller" -methode erin die wordt uitgevoerd wanneer iemand naar / geluk / nummer gaat

// src/AppBundle/Controller/LuckyController.php
namespace AppBundle\Controller;

use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Symfony\Component\HttpFoundation\Response;

class LuckyController
{
    /**
     * @Route("/lucky/number")
     */
    public function numberAction()
    {
        $number = rand(0, 100);

        return new Response(
            '<html><body>Lucky number: '.$number.'</body></html>'
        );
    }
}

Eenvoudigste voorbeeld in Symfony

  1. Installeer symfony op de juiste manier zoals hierboven beschreven.
  2. Start symfony server als u niet in de www-directory bent geïnstalleerd.
  3. Zorg ervoor dat http: // localhost: 8000 werkt als de symfony-server wordt gebruikt.
  4. Nu is het klaar om te spelen met het eenvoudigste voorbeeld.
  5. Voeg de volgende code toe in een nieuw bestand /src/AppBundle/Controller/MyController.php in symfony-installatie dir.
  6. Test het voorbeeld door http: // localhost: 8000 / hallo te bezoeken
  7. Dat is alles. Volgende: gebruik takje om het antwoord te geven.
<?php
// src/AppBundle/Controller/MyController.php

namespace AppBundle\Controller;

use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Symfony\Component\HttpFoundation\Response;

class MyController
{
    /**
     * @Route("/hello")
     */
    public function myHelloAction()
    {
        return new Response(
            '<html><body>
                   I\'m the response for request <b>/hello</b>
             </body></html>'
        );
    }
}