class Producto { public $nombre; public $precio; function __construct($nombre, $precio = 0) { $this->nombre = $nombre; $this->precio = $precio; } function resumen() { return $this->nombre . " " . $this->precio; } function pvp() { return $this->precio * 1.21; } } class Cd extends Producto { public $longitud; } $nuevoCd=new Cd('Reggeton mix'); $nuevoCd->longitud=90; $nuevoCd->precio=20; var_dump($nuevoCd); //Crear una clase libro con propiedad páginas que derive de producto class Libro extends Producto{ public $paginas; //Sobreescribir el constructor añadiendo el parámetro páginas function __construct($nombre, $paginas, $precio = 0) { parent::__construct($nombre, $precio); $this->paginas=$paginas; } //Sobreescribimos el método de la clase madre function resumen(){ //Invocamos el método de la clase madre return parent::resumen()." ".$this->paginas; } } class LibroAntiguo extends Libro{ public $anyo; function __construct($nombre, $paginas,$anyo, $precio = 0) { parent::__construct($nombre, $paginas, $precio); $this->anyo=$anyo; } } $nuevoLibro=new Libro('El Quijote',400); echo $nuevoLibro->resumen(); $antiguo=new LibroAntiguo('Quijote',500,1754); echo $antiguo->resumen();
Autor: Juan Pablo Fuentes
Formador de programación y bases de datos
Qué trabajo debes escoger según las series que te gusten
Planificación de seis semanas
Una historia interesante:
https://medium.com/tienda-nube/el-d%C3%ADa-que-abandonamos-los-roadmaps-c2db2e4d92a8
Subir imágenes a Symfony
La plantilla:
<form action="areas/imagen" method="post" enctype="multipart/form-data"> <input type="file" name="imagen"><br/> <input type="submit"> </form>
El controlador:
/** * @Route("/areas/imagen", name="imagen") */ public function imagen() { $destino= $this->get('kernel')->getProjectDir()."/public/upload"; $request = Request::createFromGlobals(); $archivo = $request->files->get('imagen'); $archivo->move($destino,$archivo->getClientOriginalName()); return $this->render('areas/index.html.twig'); }
Errores comunes en AMP y cómo evitarlos
Con sólo 22 líneas de JavaScript se robaron datos de 380.000 clientes
Lo cuentan en Microsiervos:
Las 22 líneas de JavaScript que permitieron el robo de datos de 380.000 clientes de British Airways
Como crear un buen datepicker
Cómo mover un elemento con css
Examen MVC Symfony
UX
Definición:
Enlaces interesantes: