Diferencia entre revisiones de «PHP Livewire»

De MediaWiki
Ir a la navegación Ir a la búsqueda
(Página creada con «==Introducción== <br /> [https://wiki.cifprodolfoucha.es/index.php?title=Programaci%C3%B3n_con_PHP#UNIDADE_7:_Aplicaci.C3.B3ns_web_din.C3.A1micas:_PHP_e_Javascript V…»)
 
Línea 1: Línea 1:
 
==Introducción==
 
==Introducción==
  
 +
* [https://laravel-livewire.com/docs/2.x/quickstart Livewire] permite o uso de compoñentes integrados en Laravel nos que se establece unha comunicación bidireccional (podemos enviar información desde o cliente (HTML) ao servidor (controlador) e viceversa sen necesidade de recargar completamente a páxina).
 +
 +
: É o mesmo concepto que se empregaba en AJAX e que agora se usa con FETCH, pero integrado no framework de Laravel.
 +
 +
<br />
 +
==Instalación==
 +
 +
* No directorio raíz do proxecto Laravel escribe: '''composer require livewire/livewire'''
 +
 +
 +
==Validación de campos==
 +
 +
* Imos crear a táboa marcas e imos crear unha relación entre perfumes e marcas.
 +
: A nivel de mysql:
 +
 +
::<syntaxhighlight lang="java" enclose="div" highlight="" >
 +
 +
CREATE TABLE perfumes.marcas (
 +
 +
  `id` int NOT NULL,
 +
 +
  `descripcion` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_spanish2_ci NOT NULL
 +
 +
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_spanish2_ci;
 +
 +
 +
 +
INSERT INTO `marcas` (`id`, `descripcion`) VALUES
 +
(1, 'Descripción actualizada da marca con id=1'),
 +
(2, 'ADIDAS'),
 +
(3, 'ARAMIS');
 +
</syntaxhighlight>
 +
 +
 +
 +
: '''Táboa perfumes'''
 +
::<syntaxhighlight lang="java" enclose="div" highlight="" >
 +
CREATE TABLE perfumes.perfumes (
 +
  `id` int NOT NULL,
 +
  `descripcion` varchar(45) CHARACTER SET utf8mb4 COLLATE utf8mb4_spanish2_ci NOT NULL,
 +
  `prezo` decimal(8,2) NOT NULL,
 +
  `data_compra` date DEFAULT NULL,
 +
  `marca_id` int DEFAULT NULL
 +
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_spanish2_ci;
 +
 +
ALTER TABLE perfumes.perfumes
 +
  ADD PRIMARY KEY (`id`),
 +
  ADD KEY `fk_PERFUMES_1_idx` (`id`),
 +
  ADD KEY `fk_PERFUMES_MARCA_idx` (`marca_id`);
 +
 +
INSERT INTO perfumes.perfumes (`id`, `descripcion`, `prezo`, `data_compra`, `marca_id`) VALUES
 +
(18, 'Best Aramis', '54.32', '2024-01-18', 2),
 +
(19, 'Novo perfume da marca con id 1', '100.22', '2024-01-22', 1);
 +
</syntaxhighlight>
 +
 +
 +
 +
 +
* Creamos o modelo, ruta, controlador e polo de agora imos facer a vista para crear unha nova marca.
 +
 +
 +
<br />
 +
==Funcionamento==
  
  

Revisión del 10:31 9 abr 2025

Introducción

  • Livewire permite o uso de compoñentes integrados en Laravel nos que se establece unha comunicación bidireccional (podemos enviar información desde o cliente (HTML) ao servidor (controlador) e viceversa sen necesidade de recargar completamente a páxina).
É o mesmo concepto que se empregaba en AJAX e que agora se usa con FETCH, pero integrado no framework de Laravel.


Instalación

  • No directorio raíz do proxecto Laravel escribe: composer require livewire/livewire


Validación de campos

  • Imos crear a táboa marcas e imos crear unha relación entre perfumes e marcas.
A nivel de mysql:
CREATE TABLE perfumes.marcas (

  `id` int NOT NULL,

  `descripcion` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_spanish2_ci NOT NULL

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_spanish2_ci;



INSERT INTO `marcas` (`id`, `descripcion`) VALUES
(1, 'Descripción actualizada da marca con id=1'),
(2, 'ADIDAS'),
(3, 'ARAMIS');


Táboa perfumes
CREATE TABLE perfumes.perfumes (
  `id` int NOT NULL,
  `descripcion` varchar(45) CHARACTER SET utf8mb4 COLLATE utf8mb4_spanish2_ci NOT NULL,
  `prezo` decimal(8,2) NOT NULL,
  `data_compra` date DEFAULT NULL,
  `marca_id` int DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_spanish2_ci;

ALTER TABLE perfumes.perfumes
  ADD PRIMARY KEY (`id`),
  ADD KEY `fk_PERFUMES_1_idx` (`id`),
  ADD KEY `fk_PERFUMES_MARCA_idx` (`marca_id`);

INSERT INTO perfumes.perfumes (`id`, `descripcion`, `prezo`, `data_compra`, `marca_id`) VALUES
(18, 'Best Aramis', '54.32', '2024-01-18', 2),
(19, 'Novo perfume da marca con id 1', '100.22', '2024-01-22', 1);



  • Creamos o modelo, ruta, controlador e polo de agora imos facer a vista para crear unha nova marca.



Funcionamento


Volver á UD7


-- Ángel D. Fernández González -- (2025).