Pasar al contenido principal
Monoforms Web Development
CAPTCHA
3 + 0 =
Resuelva este simple problema matemático y escriba la solución; por ejemplo: Para 1+3, escriba 4.
Esta pregunta es para comprobar si usted es un visitante humano y prevenir envíos de spam automatizado.

Main navigation

  • Home
  • Sobre mi
  • Contacto
CAPTCHA
1 + 0 =
Resuelva este simple problema matemático y escriba la solución; por ejemplo: Para 1+3, escriba 4.
Esta pregunta es para comprobar si usted es un visitante humano y prevenir envíos de spam automatizado.

Sobrescribir enlaces de ayuda a la navegación

  1. Home
  2. CREANDO UN CRUD CON LAMINAS ULTIMA PARTE: Refactorizar Vistas

CREANDO UN CRUD CON LAMINAS ULTIMA PARTE: Refactorizar vistas

By peter, 28 Septiembre, 2021

Últimos ajustes

En la última parte de nuestra serie sobre cómo crear un CRUD con Laminas, abordaremos la refactorización de las vistas. En las partes anteriores, hemos construido la estructura básica del CRUD y hemos creado la funcionalidad de creación, lectura, actualización y eliminación de registros.

Vamos a aplicar una refactorización a la vista de crear y editar una tarea.

La refactorización de las vistas implica reorganizar y limpiar el código de las plantillas para mejorar su legibilidad, claridad y modularidad. Esto puede involucrar la eliminación de código duplicado, la simplificación de la estructura de la plantilla y la mejora del rendimiento.

Al final de esta sección, tendremos vistas limpias y eficientes, lo que nos permitirá mantener nuestro proyecto de manera más fácil y rápida.

Para esto vamos a crear una nueva vista en el directorio de vistas llamado _form.phtml. Con el siguiente código:

<?php
$title = $form->get('title');
$title->setAttribute('class', 'form-control');
$title->setAttribute('placeholder', 'Título');

$description = $form->get('description');
$description->setAttribute('class', 'form-control');
$description->setAttribute('placeholder', 'Descripción');

$submit = $form->get('submit');
$submit->setAttribute('class', 'btn btn-primary');

$form->setAttribute('action', $url);
$form->prepare();

echo $this->form()->openTag($form);
?>
    <div class="form-group">
        <?= $this->formLabel($title) ?>
        <?= $this->formElement($title) ?>
        <?= $this->formElementErrors()->render($title, ['class' => 'help-block text-danger']) ?>
    </div>

    <div class="form-group">
        <?= $this->formLabel($description) ?>
        <?= $this->formElement($description) ?>
        <?= $this->formElementErrors()->render($description, ['class' => 'help-block text-danger']) ?>
    </div>
<?php
echo $this->formSubmit($submit);
echo $this->formHidden($form->get('id'));
echo $this->form()->closeTag();
?>

Este código es muy similar al contenido de las vistas para crear y editar una task. La idea de esta vista parcial (_form.phtml) es que pueda ser reutilizada por la vista de crear y editar una tarea.

En en la vista create.phtml vamos a eliminar el contenido actual y lo vamos a reemplazar por lo siguiente:

<?php
$title = 'Nueva tarea';
$this->headTitle($title);
?>
<h4 class="d-flex justify-content-between align-items-center mb-3 mt-3">
    <span class="text-muted"><?= $title ?></span>
</h4>
<?php
$form = $this->form;
$url = $this->url('todo-app', ['action' => 'create']);
echo $this->partial('todos-app/to-do/_form', [
    'form' => $form,
    'url' => $url
]);
?>

Lo que ha cambiado aquí es el último bloque de código PHP, donde podemos observar que seteamos primero las variables $form y $url, las cuales contienen la información del formulario y la url a donde se enviaran los datos (submit) respectivamente, a continuación renderizamos la vista parcial que acabamos de crear pasándole las variables antes mencionadas.

Hacemos lo mismo para la vista edit:

<?php
$title = 'Editar tarea';
$this->headTitle($title);
?>
   <h4 class="d-flex justify-content-between align-items-center mb-3 mt-3">
       <span class="text-muted"><?= $title ?></span>
   </h4>
 
<?php
$form = $this->form;
$url = $this->url('todo-app', ['action' => 'edit', 'id' => $id]);
echo $this->partial('todos-app/to-do/_form', [
   'form' => $form,
   'url' => $url
]);
?>

Quedando muy similar a la vista anterior, donde solo cambia la ruta para editar la tarea.

Con estas modificaciones hemos hecho una refactorización donde reutilizamos y eliminamos código duplicado ya que la vista de crear y editar una tarea son muy similares.


Es todo (ahora si) para este tutorial sobre Laminas, espero haya sido de utilidad más adelante voy a tratar de convertir este contenido a video.

A modo de resumen estas son las partes del tutorial:

  • Instalando Laminas-mvc Skeleton

  • Creando Un Crud Con Laminas 1a Parte

  • Creando Un Crud Con Laminas 2a Parte

  • Creando Un Crud Con Laminas 3a Parte: Crear Y Editar

  • Creando Un Crud Con Laminas 4a Parte: Finalizar Tarea

  • Creando Un Crud Con Laminas 5a Parte: Eliminar Tarea

  • Creando Un Crud Con Laminas Ultima Parte: Refactorizar Vistas

Ahora si por último el repositorio del proyecto: Tutorial con laminas

Gracias por leer y llegar hasta aquí.

Etiquetas

  • laminas
  • tutorial

Contenido reciente

  • Como limpiar usings sin usar en Rider
  • Instalando apache, mysql y php en Ubuntu
  • Cómo liberé 12GB en mi servidor y reviví mi sitio web (sin llorar… mucho)
  • ¿Que son los sitios web agregadores y los anuncios clasificados?
  • Mi Experiencia con Docker, Podman y Kubernetes
  • Lo más destacado del AWS User Group Puebla
  • Docker: Ignorar el directorio vendor en un proyecto de Go.
  • Instala Kubernetes en Ubuntu 22.04 para pruebas
  • Serverless, Lambda y Kubernetes: Fundamentos para la nube
  • Ejecuta tu lambda de Golang en AWS SAM de forma local

Recomendados

  • Biodiv
  • Medium
RSS feed

Política de privacidad

Términos de uso

Recomendados

  • Biodiv
  • Medium
Powered by Drupal

Monoforms ©2021 Created by Pedro Rojas Reyes