Esta sección proporciona una descripción general de qué es symfony3 y por qué un desarrollador puede querer usarlo.
También debe mencionar cualquier tema grande dentro de symfony3, y vincular a los temas relacionados. Dado que la Documentación para symfony3 es nueva, es posible que necesites crear versiones iniciales de esos temas relacionados.
Versión | Fecha de lanzamiento |
---|---|
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 |
El instalador requiere PHP 5.4 o superior. Si aún usas la versión heredada de PHP 5.3, no puedes usar el instalador de Symfony. Lee la sección Cómo crear aplicaciones Symfony sin el instalador para saber cómo proceder. - fuente: http://symfony.com/doc/current/book/installation.html
Abre tu consola de comandos y ejecuta los siguientes comandos:
$ sudo curl -LsS https://symfony.com/installer -o /usr/local/bin/symfony
$ sudo chmod a+x /usr/local/bin/symfony
Debe agregar php a su variable de entorno de ruta. Sigue estos pasos:
Windows 7:
C:\Program Files\PHP
) Windows 8 y 10
C:\Program Files\PHP
) Después de esto, abra su consola de comandos y ejecute el siguiente comando:
c:\> php -r "readfile('https://symfony.com/installer');" > symfony
Luego, mueve el archivo symfony descargado al directorio de tu proyecto y ejecútalo de la siguiente manera:
c:\> move symfony c:\projects
c:\projects\> php symfony
Una vez que el instalador de Symfony esté disponible, crea tu primera aplicación de Symfony con el nuevo comando:
# Linux, Mac OS X
$ symfony new my_project_name
# Windows
c:\> cd projects/
c:\projects\> php symfony new my_project_name
Este comando se puede ejecutar desde cualquier lugar, no necesariamente desde la carpeta htdocs
.
Este comando crea un nuevo directorio llamado my_project_name/
que contiene un nuevo proyecto basado en la versión estable más reciente de Symfony. Además, el instalador verifica si su sistema cumple con los requisitos técnicos para ejecutar aplicaciones Symfony. De lo contrario, verá la lista de cambios necesarios para cumplir con esos requisitos.
En caso de que tu proyecto deba basarse en una versión específica de Symfony, usa el segundo argumento opcional del nuevo comando:
# 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
El instalador también admite una versión especial llamada lts que instala la versión más reciente de Symfony LTS disponible:
$ symfony new my_project_name lts
Lee el proceso de lanzamiento de Symfony para comprender mejor por qué hay varias versiones de Symfony y cuál usar para tus proyectos.
También puedes crear aplicaciones de Symfony sin el instalador, pero no fue una buena idea. Si quieres de todos modos, sigue el tutorial original en este enlace:
Documentos oficiales de Symfony, configurando Symfony sin el instalador
Antes de continuar, asegúrese de haber leído el capítulo de Instalación y de que pueda acceder a su nueva aplicación Symfony en el navegador.
Supongamos que desea crear una página - / lucky / number - que genera un número afortunado (bueno, aleatorio) y lo imprime. Para hacer eso, cree un método de "clase de controlador" y un "controlador" dentro de él que se ejecutará cuando alguien vaya a / lucky / number
// 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>' ); } }
<?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>'
);
}
}