PDF de programación - realizar CRUD con Zend – Framework para php

Imágen de pdf realizar CRUD con Zend – Framework para php

realizar CRUD con Zend – Framework para phpgráfica de visualizaciones

Publicado el 25 de Junio del 2017
1.286 visualizaciones desde el 25 de Junio del 2017
702,6 KB
19 paginas
Creado hace 11a (30/05/2012)
Carlos Alberto Alegría

Tutorial: realizar CRUD con Zend – Framework para php.

Entorno de Programación: Eclipse PHP.

Servidor de prueba: Xampp.

Sistema operativo: Windows 7.



Precondiciones:

 Instalar Xampp contiene el servidor Apache necesario para correr tus archivos php, y

un servidor MySql necesario para nuestra base de datos. Servidores esenciales para
crear nuestra aplicación CRUD.



 Instalar Eclipse para php. Para escribir tus programas php.





Características de Zend:

Cuenta con soporte para internalización y localización de aplicaciones construir sitios
multi-idioma, convertir formatos de fechas, monedas, etc.

Facilita el setup y brinda herramientas para crear la estructura de directorios y clases por
línea de comandos.

Tiene adapters para diversos tipos de bases de datos, brinda componentes para la
autenticación y autorización de usuarios, envío de mails entre otros.


La idea es invertir menos tiempo en el desarrollo y hacer uso de componentes ya
testeados.


1. Consiguiendo el Framework ,instalación y creación de un proyecto.

La versión del framework con la cual trabajo es la 1.11.11 si usas un framework anterior o
más actual lee la documentación. Suelen haber cambios.

El sitio de descarga es el siguiente:

http://framework.zend.com/download/archives

Una vez descargado el framework (archico.zip) lo descomprimimos y lo copiamos en la
carpeta de php contenida en Xampp esto es porque es un framework de php, la ruta seria
C:\xampp\php.

Configurando las variables de entorno:

Esto se hace para poder usar la línea de comandos de Windows para generar proyectos,
controladores, vistas etc.

En la variable Path: pegas las siguientes rutas:

;C:\xampp\php\ZendFramework\bin;C:\xampp\php

No te olvides del ; es obligatorio cuando añades un Nuevo valor, si es el ultimo valor no
lleva ; al final.







Editamos el archivo php.ini en la carpeta php la ruta es la siguiente: C:\xampp\php con el
fin de incluir la librería de Zend y nuestro aplicación que usa el framework funcione el
paso es el siguiente (suponiendo que todo lo que has hecho hasta ahora este bien):

Fijamos la librería que esta esta en C:\xampp\php\ZendFramework\library en el archivo
php.ini en la siguiente región (path):

Y luego procedemos a copiar :



include_path = ".;C:\xampp\php\ZendFramework\library"

en el archivo php.ini, y listo apache ya nos puede interpretar zend.

Configuración del nuestro proyecto:

Para crear nuestro proyecto vamos al símbolo de sistema de Windows nos situamos en

C:\xampp\htdocs Y tecleamos el siguiente comando: zf create project
nombre_proyecto



Se crea el árbol de carpetas del patrón MVC en la carpeta htdocs.



En la carpeta library del proyecto que acabamos de crear copiamos la carpeta zend que
se encuentra en : C:\xampp\php\ZendFramework\library

Y listo tenemos configurado completamente nuestro proyecto.

Creando el proyecto en Eclipse php

Creamos un proyecto php en eclipse y luego copiamos el árbol de carpetas generado
que está dentro de tu proyecto Zend y listo ya podemos dedicarnos a desarrollar nuestra
aplicación.

Verificando:

Si todo está bien, inicias el servidor de apache en Xampp y al escribir la siguiente ruta en
el navegador http://localhost/tuproyecto/public/ te debe aparecer una página de
bienvenida de Zend.

2. Creado la base de datos, establecimiento del modelo.



En el patrón MVC la base de datos no proporciona el modelo de nuestra aplicación. El
modelo es la parte que se ocupa con la parte principal del proyecto (las reglas de negocio)
vamos a usar la clase Zend_Db_Table de Zend Framework, la cual es utilizada para
encontrar, insertar, actualizar y eliminar registros de una tabla en la base de datos.

Se crea la base de datos desde phpmyadmin para esto escribe esta url en el navegador:

http://localhost/phpmyadmin/

creas la base de datos bd_zend (base de datos que uso en este ejemplo)

y corres los siguientes escript sql:

Creando la tabla persona:


CREATE TABLE IF NOT EXISTS `persona` (
`cedula` int(20) NOT NULL AUTO_INCREMENT,
`nombre` varchar(30) NOT NULL,
`apellido` varchar(30) NOT NULL,
`id_depto` int(20) NOT NULL,
PRIMARY KEY (`cedula`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;


Haciendo un insert:

INSERT INTO `persona` (`cedula`, `nombre`, `apellido`, `id_depto`)
VALUES
(1, 'carlos', 'alegria', 123),
(2, 'sofia', 'cardona', 789);


Conectando la base de datos con nuestra aplicación:

Para usar Zend_Db_Table, necesitamos decir que base de datos usar junto con un
usuario y una contraseña. El componente de Zend_Application viene por defecto con un
recurso para configurar la base de datos, por lo que debemos hacer es guardar la
información apropiada en el archivo application.ini y el sistema hará el resto. Para esto
hacemos lo siguiente:

Abrimos el archivo application/configs/application.ini y agregamos lo siguiente al final de la
sección [production] (antes de la sección [staging: production]):

resources.db.adapter = PDO_MYSQL
resources.db.params.host = localhost
resources.db.params.username = root
resources.db.params.password = 123
resources.db.params.dbname = bd_zend

Obviamente deberías usar tu nombre de usuario, contraseña y nombre de base de datos,
esta información la puedes encontrar en phpmyadmin.

Modelo:



Para este tutorial vamos a crear un modelo que extiende de Zend_Db_Table y utiliza
Zend_Db_Table_Row(clase que contiene una fila individual de un objeto
Zend_Db_Table).

Zend_Db_Table_Abstract es una clase abstracta, de la cual vamos a derivar nuestra clase
específica para administrar personas. No importa como nombremos a nuestra clase, pero
tiene sentido que la nombremos con relación a la tabla.

Ya que estamos nombrando a partir de la tabla, las personas (persona) que utilicen
Zend_Db_Table van a tener una clase llamada Application_Model_DbTable_Persona la
cual estará guardad en applications/models/DbTable/Albums.php.

Para poder decirle a Zend_Db_Table el nombre de la tabla que vamos a administrar,
debemos crear la variable protegida $_name con el nombre de la tabla.

Podemos utilizar la herramienta zf para hacer algo del trabajo, por lo que vamos a pasar
el siguiente comando:

Primero nos situamos en C: /Xampp/htdocs/nuestroProyecto

C:\xampp\htdocs\crud-zend>zf create db-table Persona persona

La herramienta creó el archivo Persona.php en la carpeta application/models/DbTable/.
Dentro del archivo se encuentra una clase llamada Application_Model_DbTable_Persona
la cual tiene declarado el nombre de la tabla con la que se va a comunicar a través de sus
métodos.

Ahora necesitamos algo de funcionalidad, por lo que vamos a editar el archivo
application/models/DbTable/Persona.php y agregar los métodos getPersona(),
addPersona(), updatePersona() y deletePersona()

Código:

throw new Exception("No se puedo encontrar la fila

<?php

class Application_Model_DbTable_Persona extends Zend_Db_Table_Abstract
{
protected $_name = 'persona';

public function getPersona($cedula)
{
$cedula=(int)$cedula;
$row=$this->fetchRow('cedula = '.$cedula);
if(!$row)
{

$cedula");
}
return $row->toArray();
}
public function addPersona( $nombre, $apellido, $id_depto)
{
$data = array(
'nombre' => $nombre,
'apellido' => $apellido,
'id_depto' => $id_depto,

);
$this->insert($data);
}

public function updatePersona($cedula,$nombre, $apellido, $id_depto)
{
$data = array(
'nombre' => $nombre,
'apellido' => $apellido,
'id_depto' => $id_depto,
);
$this->update($data,'cedula = ' . (int)$cedula);
}

public function deletePersona($cedula)
{
$this->delete('cedula = ' . (int)$cedula);
}

}

Necesitamos llenar el controlador con la información del modelo y armar las vistas para mostrarla.

3. Creando los Controladores

Esta aplicación contiene contiene un controlador con cuatro acciones (metodods)
index,add, edit, delete.

Ejemplo de cómo se ve en la url:

Public/index/add

Public/index/edit

Donde el controlador es index(el FontController) y las acciones son add y edit.



Creamos las acciones. Abrimos el Terminal o el Símbolo de Sistema y nos posicionamos
en el directorio del proyecto (crud-zend). Luego escribir estos comandos:

zf create action add Index

zf create action edit Index

zf create action delete Index

Estos comandos crean tres nuevos métodos: addAction, editAction y deleteAction en el
controlador IndexController, junto con el código de las vistas que vamos a necesitar más
adelante. Ahora tenemos las cuatro acciones que queremos utilizar, con sus respectivas
vistas.

El código que va en cada acción del controlador lo vamos creando a medida que vamos
desarrollando el crud (adicionar,eliminar,listar,editar)

4. Vistas(layuots)





El lugar por defecto para guardar nuestros layouts es en application/layouts/ y hay un
recurso disponbile para Zend_Application que configura al Zend_Layout por nosotros.
Vamos a utilizar Zend_Tool para crear el archivo del layout y actualizar application.ini
apropiadamente. Nuevamente, desde la Terminal o el Símbolo de Sistema, escribimos el
siguiente comando en la carpeta de crud-zend:

zf enable layout

Zend_Tool acaba de crear la carpeta application/layouts/scripts/ y dentro de la misma un
archivo llamado layout.phtml. También actualizó el archivo application.ini y agregó la línea
resources.layout.layoutPath = APPLICATION_PATH "/layouts/scripts/" a la sección
[production].

Al final del ciclo de respuesta, antes de que la acción del controlador termine sus tareas,
Zend_Layout va a renderizar nuestro layout. Z
  • Links de descarga
http://lwp-l.com/pdf4621

Comentarios de: realizar CRUD con Zend – Framework para php (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad