Diferencia entre revisiones de «PHP Livewire»
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
-- Ángel D. Fernández González -- (2025).