
El cliente realiza una solicitud al servidor de un recurso .php
El servidor recibe la solicitud y llama al lenguaje PHP.
Donde el servidor encuentre las etiquetas <?php ?>, lo ejecutará.
PHP realiza el programa y regresa como etiquetas HTML.
El servidor regresa el código HTML (nunca código PHP).
El cliente toma el HTML y el navegador lo interpreta.
El cliente realiza una solicitud al servidor de un recurso .php
El servidor recibe la solicitud y llama al lenguaje PHP.
Donde el servidor encuentre las etiquetas PHP, lo ejecutará.
PHP realiza el programa y regresa como etiquetas HTML.
El servidor regresa el código HTML (nunca código PHP).
El cliente toma el HTML y el navegador lo interpreta.
1. Instalar la plataforma Apache-MySQL-PHP en su computadora como XAMPP, MAMP, LAMP o WAMP o es su defecto, contar con un servidor remoto con PHP.
2. Un navegador moderno.
3. Un editor de código como Sublime Text, Aptana, Brackets, Atom o Dreamweaver (cualquier versión).
4. Si se cuenta con un servidor remoto, necesitarás un FTP o cPanel.
XAMPP es un paquete de instalación independiente de plataforma, software libre, que consiste principalmente en el sistema de gestión de bases de datos MySQL, el servidor web Apache y los intérpretes para lenguajes de script: PHP y Perl.
En este video instalaremos el paquete MAMP en una computadora Windows
Revisemos una función que es importante que es el phpinfo(), que bueno por lo general, pues lo utilizamos de vez en cuando, generalmente al principio para verificar nuestra versión de PHP y alguna librería que nos haga falta instalar o que tengamos dudas si está instalada.
PHPDoc es un conjunto de reglas para documentar nuestros programas.
El patrón de diseño (de software) MVC se encarga de separar la “lógica de negocio” de la “interfaz de usuario” y es el más utilizado en aplicaciones web, ya que facilita la funcionalidad, mantenibilidad, y escalabilidad del sistema.
En esta clase utilizaremos las carpetas:
app
controladores
libs
modelos
sql
vistas
public
css
js
Img
fotos
Cliente
Producto
Proveedores
Facturas
categorias
compras
configuracion
detalles
devoluciones
entradas
estadomovimientos
estadoproducto
estadousuario
generos
El archivo .htaccess nos permite modificar el acceso, en un ambiente Apache, a directorios o archivos.
Para que no puedan entrar a un directorio desde la URL y no ver el mismo se utiliza (en app):
extension=php_pdo.dll
extension=php_pdo_firebird.dll
extension=php_pdo_informix.dll
extension=php_pdo_mssql.dll
extension=php_pdo_mysql.dll
extension=php_pdo_oci.dll
extension=php_pdo_oci8.dll
extension=php_pdo_odbc.dll
extension=php_pdo_pgsql.dll
extension=php_pdo_sqlite.dll
MVC divide las aplicaciones en tres niveles de abstracción: Modelo-Vista-Controlador.
El método separaURL() toma la URL del sistema y lo separará.
Utilizaremos las funciones:
isset() valida si una variable está definida.
Dentro del constructor llamaremos el controlador y el método solicitado desde los parámetros.
En todos los controladores necesitaremos dos métodos: Uno para llamar a las vistas con los datos a desplegar y otro para generar el modelo.
Nos conviene generar una clase auxiliar (que no se ejecuta directamente) con ambos métodos.
MVC divide las aplicaciones en tres niveles de abstracción: Modelo-Vista-Controlador
EL proceso de login autenticará al usuario, su tipo y su estado.
Bootstrap 5.3, la versión actual de Bootstrap, es muy bien considerada por la comunidad de desarrolladores web. Se destaca por su facilidad de uso, su amplia compatibilidad y su extensa documentación, lo que lo convierte en una herramienta muy valiosa tanto para principiantes como para desarrolladores experimentados.
Bootstrap 5.3, la versión actual de Bootstrap, es muy bien considerada por la comunidad de desarrolladores web. Se destaca por su facilidad de uso, su amplia compatibilidad y su extensa documentación, lo que lo convierte en una herramienta muy valiosa tanto para principiantes como para desarrolladores experimentados.
Bootstrap 5.3, la versión actual de Bootstrap, es muy bien considerada por la comunidad de desarrolladores web. Se destaca por su facilidad de uso, su amplia compatibilidad y su extensa documentación, lo que lo convierte en una herramienta muy valiosa tanto para principiantes como para desarrolladores experimentados.
Una práctica muy común es tomar un archivo anterior y convertirlo en un nuevo.
Lo realizaremos para crear la vista de “olvido de la contraseña”.
De la vista principal al controlador.
El controlador despliega la vista de “Olvidaste tu contraseña”.
A medida que avanzamos en las llamas de los métodos, la ruta relativa se puede ir perdiendo, por lo que la mantendremos en una Constante global.
define()
$_SERVER[“REQUEST_METHOD”] indica el método de envío a la página.
filter_var($email, FILTER_VALIDATE_EMAIL)
Un proceso de validación muy importante es que busquemos en la base de datos el correo electrónico antes de enviar el correo.
Realizaremos la función para desplegar el arreglo de errores dentro de la vista.
Por medio de la instrucción mail() enviaremos el correo electrónico al usuario.
Podemos crear una vista general donde podemos enviar diferentes mensajes erróneos o de aceptación.
Es muy importante saber a donde regresar después de la vista.
Debemos recuperar los datos del usuario para enviarle el correo electrónico.
Solucionar el problema de las vistas.
openssl_random_pseudo_bytes — Genera una cadena de bytes pseudo-aleatoria
openssl_cipher_iv_length — Obtener la longitud del iv (vector de iniciación) de cipher
Necesitamos crear el método y la vista para cambiar la clave de acceso.
hash_hmac(“sha512”,$clave,”llave encriptacion”); Genera una cadena cifrada por el método HMAC.
hash_hmac(“sha512”,$clave,”llave encriptacion”); Genera una cadena cifrada por el método HMAC.
Una vez que tenemos la clave de acceso encriptada, la compararemos con la correspondiente en la base de datos.
session_start(array $options = []): bool
$_SESSION[ ]
session_destroy(): bool
Debemos validar que la sesión sea correctamente creada.
Si el usuario “retrocede” al login, debemos eliminar la sesión.
time() - Regresa los números de segundo transcurridos desde el 1o de enero de 1970, tiempo Unix.
Dentro de el archivo del encabezado podemos añadir un menú y manipularlo si es administrativo o un usuario.
Crear las opciones del lado derecho: usuario y salida.
Crear el parámetro private $sesion; el la clase Tablero.
Crearemos los archivos Modelo, Vista y Controlador para el objeto más sencillo del sistema: los países.
La vista llamada “Carátula” es la vista por omisión en todos los objetos.
La vista de "Alta" nos servirá para el CRUD o ABC: Alta, Baja y Cambio.
Una vez que los datos han sido validados, armamos nuestro arreglo y ejecutamos el método de inserción a la base de datos.
Utilizamos la misma vista para modificar los datos, y los enviamos a la validación de datos para su modificación.
En el sistema realizaremos la “baja lógica”, es decir, no se borran los registros, sólo se marcan como baja en un campo de la tabla.
Debemos definir el tamaño de la página (una constante).
El método de carátula debemos recibir el número de página.
Determinar el número de registros de la tabla.
Debemos calcular la página y el último registro.
Enviar los datos a la vista
Crear un archivo de librerías
Debemos definir el tamaño de la página (una constante).
El método de carátula debemos recibir el número de página.
Determinar el número de registros de la tabla.
Debemos calcular la página y el último registro.
Enviar los datos a la vista
Crear un archivo de librerías
Debemos definir el tamaño de la página (una constante).
El método de carátula debemos recibir el número de página.
Determinar el número de registros de la tabla.
Debemos calcular la página y el último registro.
Enviar los datos a la vista
Crear un archivo de librerías
Límites y número de páginas
Debemos definir el tamaño de la página (una constante).
El método de carátula debemos recibir el número de página.
Determinar el número de registros de la tabla.
Debemos calcular la página y el último registro.
Enviar los datos a la vista
Crear un archivo de librerías
Límites y número de páginas
Arrastrar la página donde se modifica
Crearemos los archivos Modelo, Vista y Controlador para el objeto más sencillo del sistema: los categorías.
La vista llamada “Carátula” es la vista por omisión en todos los objetos.
Utilizamos la misma vista para modificar los datos, y los enviamos a la validación de datos para su modificación.
En el sistema realizaremos la “baja lógica”, es decir, no se borran los registros, sólo se marcan como baja en un campo de la tabla.
Estado Movimientos: Activo, Cerrado
Estado Producto: Activo, Inactivo
Estado Usuario: Activo, Inactivo,Suspendido
Géneros: Masculino, 'Femenino
Tipo Movimiento: (1, 'Orden de compra'), (2, 'Entrada de almacén'), (3, 'Devolución al proveedor'), (4, 'Venta en mostrador');
Tipo Usuario: (1, 'Admon'), (2, 'Vendedor'), (3, 'Cliente'), (4, 'Proveedor');
Crearemos los archivos Modelo, Vista y Controlador para el objeto más sencillo del sistema: los países.
id,
tipoUsuario,
nombres,
apellidos,
direccion,
telefono,
correo,
clave,
genero,
estadoUsuario
La vista de "Alta" nos servirá para el CRUD o ABC: Alta, Baja y Cambio.
Utilizamos la misma vista para modificar los datos, y los enviamos a la validación de datos para su modificación.
Utilizamos la misma vista para modificar los datos, y los enviamos a la validación de datos para su modificación.
Utilizamos la misma vista para modificar los datos, y los enviamos a la validación de datos para su modificación.
En el sistema realizaremos la “baja lógica”, es decir, no se borran los registros, sólo se marcan como baja en un campo de la tabla.
Ya que tenemos a los diferentes usuarios y sus tipos de usuario en el objeto Login.
Crearemos los archivos Modelo, Vista y Controlador para el objeto proveedores.
La vista de "Alta" nos servirá para el CRUD o ABC: Alta, Baja y Cambio.
Realizaremos el proceso de modificar y borrar un proveedor.
Crearemos los archivos Modelo, Vista y Controlador para el objeto más sencillo del sistema: los países.
La vista de "Alta" nos servirá para el CRUD o ABC: Alta, Baja y Cambio.
Los campos del registro del producto son:
id,
nombre,
descripcion,
precio,
foto,
ubicacion,
iva
Utilizamos la misma vista para modificar los datos, y los enviamos a la validación de datos para su modificación.
Insertaremos los datos y obtendremos el identificador para almacenar las imágenes.
El formulario debe de modificarse: enctype="multipart/form-data"
Utilizamos la misma vista para modificar los datos, y los enviamos a la validación de datos para su modificación.
Primero modificaremos los campos del registro y después modificaremos las imágenes.
En el sistema realizaremos la “baja lógica”, es decir, no se borran los registros, sólo se marcan como baja en un campo de la tabla.
La vista de las imágenes de un producto, será similar a la carátula de la tabla.
Para borrar una imagen, primero haremos una vista de confirmación.
Añadiremos una imagen a nuestro directorio del producto. En este caso subiremos sólo un archivo a la vez.
Crearemos los archivos Modelo, Vista y Controlador para el objeto más sencillo del sistema: los países.
Lo primero que vamos hacer es la vista de seleccionar el proveedor:
Crearemos el folio de la orden de compra y pasaremos a la vista para añadir productos del proveedor.
Crearemos la vista de detalle para mostrar los productos y los totales de cada columna.
Crearemos el formulario para añadir la lista del producto.
Debemos ir descartando los productos que ya incluimos en nuestra orden de compra.
Dar de alta otros proveedores y productos.
Primero validaremos los datos antes de su inserción.
Insertaremos los datos y obtendremos el identificador para almacenar el producto.
Leeremos nuevamente los datos para desplegarlos en el detalle de la orden de compra.
Leeremos nuevamente los datos para desplegarlos en el detalle de la orden de compra.
La baja sería igual, pero le enviamos el parámetro de baja como “true”.
comprasAltaDetalleVista
compras/borrarProducto
comprasBorraProductoVista
compras/bajaLogica
Crearemos los archivos Modelo, Vista y ControladorCrearemos los archivos Modelo, Vista y Controlador para el objeto de transacción de entrada al almacén.
Primero vamos a crear una entrada al almacén para recibir el inventario de los productos en el almacén.
En las entradas de almacén no tenemos la opción de borrado de la orden de compra, por lo que tenemos que limpiar la vista de Alta Detalle Vista.
Finalizaremos la orden de entrada y actualizaremos el stock de cada producto.
Leeremos nuevamente los datos para desplegarlos en el detalle de la orden de compra.
Siempre hay que revisar nuestro código. :)
Crearemos los archivos Modelo, Vista y Controlador para el objeto de transacciones de Ventas, que disminuyen el inventario.
Primero debemos saber al cliente que le vamos a vender.
Debemos crear un cliente que se llame “Venta al mostrador”.
Tenemos que validar el número del cliente a lanzar la vista Alta-Detalle.
Tomaremos prestado el código de “Compras” para dar de alta un producto.
Después de la validación preparamos la vista para seleccionar el producto.
Modificaremos el método de detalle Ventas tomado de las compras.
Desde la vista del detalle podemos borrar los productos de la misma.
ventas/borrarProducto/
ventasBorrarProductoVista
ventas/bajaLogica
ventas/detalleVenta/
Para cancelar la venta será el equivalente a borrarla.
ventas/cancelarVenta/
cancelarVenta()
modelo/cancelarVenta()
ventas/
Para finalizar la venta, actualizamos el stock.
Para consultar una venta, crearemos una vista especial.
Revisar el código en el controlador y el modelo.
Una aplicación que es muy recurrente en Internet es el desarrollo de una aplicación para el control de una inventario. Esta aplicación nos sirve para utilizar lenguajes del lado del cliente, como JavaScript y lenguajes del lado del servidor como PHP, así como conectarlo con bases de datos, en este caso como MySQL, herramientas que son las más utilizadas en la Web. En este curso construiremos las páginas web por medio de Bootstrap 5.3. lo cual nos permitirá tener una aplicación responsiva.
Partiremos desde una página completamente en blanco hasta concluir la parte del usuario (front-end) y la parte del administrador (back-end). Los objetivos del presente curso son:
Conocer los aspectos básicos de PHP y su instalación.
Crear la estructura Modelo, Vista y Controlador para construir la tienda virtual con PHP y MySQL.
Crear el controlador, el modelo y las vistas necesarias para permitir el acceso de los usuarios al sistema.
Crear el menú, controlador, modelo y las vistas necesarias para: el tablero, las cuentas, los movimientos.
Manejo de imágenes y paginación de consultas muy largas
Este curso intermedio, por lo que usted debe tener las bases de programación en Bootstrap, PHP, JavaScript y MySQL, aunque no debe de ser experto en ellos. Es una buena oportunidad para poner en práctica sus conocimientos. Usted debe de contar con una instalación de Apache-PHP-MySQL, como XAMPP, MAMP o WAMP.
Al final del curso contarás con todos los archivos del curso y los esquemas de la base de datos.