Rutas en symfony

Hay muchas maneras de indicar las rutas en symfony, pero la más cómoda es usar annotations como hemos hecho en el ejemplo anterior:


 /**
* @Route("/hola/saludo")
*/

También podemos recuperar parámetros:


class HolaController
{
/**
* @Route("/hola/saludo/{nombre}")
*/
public function saludo($nombre)
{
$texto="Hola $nombre que tal";

return new Response(
'<html><body><h1> '.$texto.'</h1></body></html>'
);
}
}

En nombre podemos usar un valor por defecto:

<strong>public function saludo($nombre='')[/php</strong>]

Y podemos usar expresiones regulares para indicar que queremos un tipo concreto de parámetro:

[php]</pre>
class HolaController
{
/**
* @Route("/hola/saludo/{numero<\d+>}")
*/
public function saludos($numero=1)
{
$texto="<h1>Hola que tal</h1>";
$res="";
for($i=0;$i<$numero;$i++){
$res.=$texto;
}
return new Response(
'<html><body>'.$res.'</body></html>'
);
}
/**
* @Route("/hola/saludo/{nombre}")
*/
public function saludo($nombre='')
{
$texto="Hola $nombre que tal";

return new Response(
'<html><body><h1> '.$texto.'</h1></body></html>'
);
}

}
<pre>

Primera página en symfony

Como vimos en el ejemplo de MVC desde cero, necesitamos una ruta y un controlador. Lo haremos todo junto.

Dentro de src\controller creamos una página llamada HolaController:


<?php
// src/Controller/HolaController.php
namespace App\Controller;

use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;

class HolaController
{
/**
* @Route("/hola/saludo")
*/
public function saludo()
{
$texto="Hola que tal";

return new Response(
'<html><body><h1> '.$texto.'</h1></body></html>'
);
}
}

 

Si ahora vamos a la siguiente dirección, deberíamos ver el saludo:

http://localhost:8000/hola/saludo

Otra manera de crear un controlador es desde la consola:

 php bin/console make:controller adios

Esto nos crea lo siguiente:


<?php

namespace App\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\Routing\Annotation\Route;

class AdiosController extends AbstractController
{
/**
* @Route("/adios", name="adios")
*/
public function index()
{
return $this->render('adios/index.html.twig', [
'controller_name' => 'AdiosController',
]);
}
}

Instalar Symfony

Primero, instalar composer:

https://getcomposer.org/download/

Comprobar que tenemos php 7.1 o superior. Si no es así, debemos instalarla. La podemos instalar en otra carpeta.

Nos colocamos en htdocs, abrimos la consola y escribimos lo siguiente:

composer create-project symfony/website-skeleton mi_symfony

Para ejecutar nuestro symfony debemos hacer lo siguiente:

 cd mi_symfony
 php bin/console server:run

Y lo podremos ver en localhost:8000

Instalar moodle

Descargarlo de la web (moodle.org) y descomprimirlo en htdocs

Cambiar la siguiente línea en config.php:

$CFG->dbtype = ‘mariadb’;

Entrar en workbench y aplicar los siguientes cambios en la base de datos moodle:

SET GLOBAL innodb_file_per_table=1;
SET GLOBAL innodb_file_format=Barracuda;
SET GLOBAL innodb_large_prefix=ON;

Cruzar los dedos y rezar a Santa Tecla 🙂

Si queremos verlo en acción podemos entrar en la zona demo:

https://moodle.org/demo/

Manual Prestashop y Magento

El oficial de Prestashop:

http://doc.prestashop.com/pages/viewpage.action?pageId=54263818

Magento:

https://wiboomedia.com/mega-tutorial-magento-que-es-y-como-crear-tu-ecommerce-premium/

Instalar magento:

https://www.imaginaformacion.com/aprende-magento-2-tutorial-primeros-pasos/

Manual completo en inglés:

https://www.tutorialspoint.com/magento/

Archivos de Prestashop y magento:

https://wetransfer.com/downloads/584d6cbc02ebe414c1e1b4d550dc1c2320180828122654/808c94d7f813be80ba73cbab3f9061e720180828122654/13844d