symfony2Aan de slag met symfony2


Opmerkingen

Deze sectie biedt een overzicht van wat Symfony2 is en waarom een ontwikkelaar het misschien wil gebruiken.

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

versies

De nieuwste stabiele versie tijdens het schrijven is Symfony 3.1 die tot eind juli 2017 zal worden gehandhaafd.

Symfony heeft ondersteuningsversies op lange termijn die in totaal 4 jaar worden onderhouden (3 jaar voor bugfixes, 1 extra jaar voor beveiligingsfixes)

Een standaard kleine versie wordt onderhouden voor een periode van acht maanden voor bugfixes en voor een periode van veertien maanden voor fixes van beveiligingsproblemen.

Lange termijn ondersteuningsversies:

Symfony 2.3 - May 2016 end of support for bug fixes
              May 2017 end of support for security fixes(end of life)

Symfony 2.7 - May 2018 end of support for bug fixes
              May 2019 end of support for security fixes(end of life)

Symfony 2.8 - November 2018 end of support for bug fixes
              November 2019 end of support for security fixes(end of life)

Vanaf de 3.X-versie zijn secundaire versies beperkt tot 5 en is de laatste secundaire versie LTS.

Syfmony heeft een dubbele onderhoudsmodus, waarbij in mei en eenmaal in november elke zes maanden kleinere versies worden uitgebracht. De hoofdversie wordt om de twee jaar uitgebracht, wat betekent dat er een periode van een jaar is om van de vorige hoofdversie naar de nieuwste versie te gaan, waardoor de gebruiker een keuze heeft tussen de nieuwste functies van de standaardversie of een LTS-versie die wordt ondersteund voor bugfixes.

Symfony onderhoudt strikte achterwaartse compatibiliteit, alles wat BC breekt wordt gedaan in de volgende belangrijke versie. Een functie-implementatie die een verbetering is maar BC breekt, wordt bewaard naast de oude implementatie die wordt afgeschaft

Lees meer over versies en ontwikkelingsproces in detail uit de officiële documentatie [hier] [1]

[1]: http: //symfony.com/doc/current/contributing/community/releases.html | Versie | Releasedatum | | ------- | ------------ | | 2.3.0 | 2013-06-03 | | 2.7.0 | 2015-05-30 | | 2.8.0 | 30-11-2015 |

Installatie of instellingen

Symfony Framework - gebouwd met symfony-componenten, is een van de toonaangevende PHP-frameworks die worden gebruikt om robuuste websites en webapplicaties te maken.

Symfony kan snel worden geïnstalleerd via twee aanbevolen manieren.

  1. De officiële documentaion beveelt aan om het framework te installeren via de Symfony Installer , een kleine php-applicatie die eenmaal op het lokale systeem wordt geïnstalleerd en helpt bij het downloaden van het framework en het instellen van de configuratie van het framework. Symfony Installer vereist PHP 5.4 of hoger. Gebruik Composer om op een verouderde php-versie te installeren.
  2. Via de PHP-afhankelijkheidsmanager Composer

Installeren via Symfony Installer

Op Linux / Mac OS X voert u de volgende opdrachten uit:

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

Ga in Windows naar de projectmap en voer de volgende opdracht uit:

php -r "file_put_contents('symfony', file_get_contents('https://symfony.com/installer'));"
 

symfony project kan worden gemaakt door symfony new my_project [2.8] op Linux / Mac OS X

Op Windows php symfony new my_project [2.8]

of alternatief symfony new my_project lts zal de nieuwste langetermijn ondersteuningsversie van Symfony gebruiken.

Installatie via Composer

  • Componist downloaden

  • Gebruik de opdracht create-project Composer create-project Symfony te downloaden

    composer create-project symfony/framework-standard-edition my_project_name ["2.8.*"]
     

Uitstekende gedetailleerde officiële documentatie hier

De toepassing Symfony uitvoeren

Om de interne webserver van symfony te starten (beschikbaar sinds PHP 5.4), gaat u naar de projectmap en voert u deze opdracht uit:

voor symfony <= 2.8

php app/console server:start
 

en voor symfony> = 3.0

php bin/console server:start
 

Dit start de webserver op localhost:8000 op de achtergrond die uw Symfony-applicatie bedient. Open vervolgens uw browser en ga naar http://localhost:8000/ URL om de welkomstpagina van Symfony te bekijken:

voer hier de afbeeldingsbeschrijving in

Symfony installeren en configureren

Vereisten controleren

Voer bin/symfony_requirements om de symfony-vereisten en php cli-instellingen te controleren. Installeer alle pakketten die nodig waren om een symfony-project uit te voeren. Je php.ini instellen bijvoorbeeld tijdzone en short_open_tag instellen. Zowel php.ini instellen voor uw php webserver (bijvoorbeeld: /etc/php/apache2/php.ini) als php cli (bijvoorbeeld: /etc/php/cli/php.ini). Open http: //localhost/config.php om de php-webserverinstelling te controleren. Als alles voorbij is, ben je klaar om je symfony-project uit te voeren.

Lopend project

Voer de composer install van de composer install uit om alle afhankelijkheden te installeren. Vervolgens machtiging instellen voor var/cache , var/logs en var/sessions .

Gedetailleerde officiële documentatie hier

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
    (Als u de ingebouwde http-server van Symfony niet gebruikt, gaat u naar http: // localhost / (symfony-dir) /web/app_dev.php/hello)
  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>'
        );
    }
}
 

OPMERKING: Alle controllerklassen moeten eindigen op het woord ' Controller ' en methoden die verband houden met routs moeten eindigen op het woord ' Action '. Verder is in welke controller uw acties worden geplaatst niet relevant totdat u een routevoorvoegsel voor de controller definieert.