Excel animados:
http://www.excelunusual.com/
Gráficos libres:
https://kenney.nl/
Texturas:
https://texturehaven.com/textures/
Excel animados:
http://www.excelunusual.com/
Gráficos libres:
https://kenney.nl/
Texturas:
https://texturehaven.com/textures/
Symfony usa como plantillas la librería externa twig.
Dispone de una serie de elementos que nos permiten hacer algo de programación pero toda orientada al diseño. Así, tenemos bucles o estructuras de control, filtros que podemos aplicar a las variables, pero no disponemos de las funciones de php.
Para imprimir una variable usamos {{ … }}
Para una etiqueta de programación usamos {% … %}
Para un comentario usamos {# … #}
Algunos ejemplos:
{% if users %}
<ul>
{% for user in users %}
<li>{{ user.username|e }}</li>
{% endfor %}
</ul>
{% endif %}
{% if temperature > 18 and temperature < 27 %}
<p>It's a nice day for a walk in the park.</p>
{% endif %}
{% for i in 0..10 %}
* {{ i }}
{% endfor %}
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>
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',
]);
}
}
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
¿Qué es el Modelo Vista Controlador? En la wikipedia lo explican muy bien:
https://es.wikipedia.org/wiki/Modelo%E2%80%93vista%E2%80%93controlador
Dos ejemplos para implementar MVC ‘a pelo’:
https://victorroblesweb.es/2013/11/18/tutorial-mvc-en-php-nativo/
Manual oficial php:
http://php.net/manual/es/reference.pcre.pattern.syntax.php
Manuales completos:
https://didesweb.com/tutoriales-php/expresiones-regulares-php/
https://diego.com.es/expresiones-regulares-en-php
http://meudiseny.com/miphp/ejmExpreRegul.php
En esta página podemos probar expresiones regulares y ver si funcionan:
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:
Qué es git:
https://es.wikipedia.org/wiki/Git
Usar git:
http://rogerdudler.github.io/git-guide/index.es.html
Git en netbeans:
https://netbeans.org/kb/docs/ide/git.html
Repositorios:
https://github.com/
https://bitbucket.org/