PHP Core 1.0
Framework de Programación PHP hecho en Argentina.
Archivo Versión 1.0.0 25/04/2019 Test
Descripción: Gestión de archivos y directorios.
Usar
use PHP\Archivo\Archivo;
Propiedades
private $archivo; // Representa el archivo actual (Object)
Métodos
public function crearDirectorio($directorio); // Crear un directorio
public function eliminarDirectorio($directorio); // Eliminar un directorio
public function listarDirectorio($directorio); // Listar un directorio
public function renombrarDirectorio($directorioAnterior, $directorioNuevo); // Renombrar un directorio
public function moverDirectorio($directorioAnterior, $directorioDestino); // Mover un directorio
public function abrirArchivo($rutaArchivo, $modo); // Abrir un archivo en un modo especifico
public function cerrarArchivo(); // Cerrar el archivo previamente abierto
public function leerArchivo($rutaArchivo); // Leer el contenido de un archivo
public function escribirArchivo($rutaArchivo, $contenido); // Escribir contenido en un archivo
public function apendizarArchivo($rutaArchivo, $contenido); // Apendizar contenido en un archivo
public function eliminarArchivo($rutaArchivo); // Eliminar un archivo
public function copiarArchivo($archivo); // Copiar un archivo
public function renombrarArchivo($archivoAnterior, $archivoNuevo); // Renombrar un archivo
public function moverArchivo($archivoAnterior, $archivoNuevo); // Mover un archivo
public function getEspacioLibre($directorio); // Devolver espacio libre de un directorio
public function getEspacioTotal($directorio); // Devolver espacio total de un directorio
public function getEspacioUsado($directorio); // Devolver espacio usado de un directorio
public function castearBytes($size); // Convertir un número de B a Kb/Mb/Gb
private function renombrar($anterior, $nuevo); // Renombrar archivo o directorio
Ejemplos
// Instancio Archivo
$archivo = new Archivo();
// Directorio
var_dump($archivo->crearDirectorio(FOLDER_UPLOAD."/carpeta"));
var_dump($archivo->renombrarDirectorio(FOLDER_UPLOAD."/carpeta", FOLDER_UPLOAD."/carpeta2"));;
var_dump($archivo->moverDirectorio(FOLDER_UPLOAD."/carpeta2", FOLDER_UPLOAD."/otra/carpeta2"));
var_dump($archivo->eliminarDirectorio(FOLDER_UPLOAD."/otra/carpeta2"));
var_dump($archivo->listarDirectorio(FOLDER_UPLOAD);
// Archivo
var_dump($archivo->escribirArchivo(FOLDER_UPLOAD."/archivo.txt", "Hola"));
var_dump($archivo->apendizarArchivo(FOLDER_UPLOAD."/archivo.txt", "Mundo"));
var_dump($archivo->leerArchivo(FOLDER_UPLOAD."/archivo.txt"));
var_dump($archivo->copiarArchivo(FOLDER_UPLOAD."/archivo.txt"));
var_dump($archivo->renombrarArchivo(FOLDER_UPLOAD."/archivo.txt", FOLDER_UPLOAD."archivo2.txt"));
var_dump($archivo->moverArchivo(FOLDER_UPLOAD."/archivo2.txt", FOLDER_UPLOAD."/carpeta/archivo2.txt"));
var_dump($archivo->eliminarArchivo(FOLDER_UPLOAD."/carpeta/archivo2.txt.txt"));
var_dump($archivo->abrirArchivo(FOLDER_UPLOAD."/archivo.txt"));
var_dump($archivo->cerrarArchivo());
// Utilidades
echo $archivo->getEspacioLibre(FOLDER_UPLOAD)." GB";
echo $archivo->getEspacioTotal(FOLDER_UPLOAD)." GB";
echo $archivo->getEspacioUsado(FOLDER_UPLOAD)." GB";
echo $archivo->castearBytes(453215);
Detalle Métodos
| Visibilidad | Método | Descripción | Parametros | Retorno |
|---|---|---|---|---|
| Público | crearDirectorio($directorio); | Crear un directorio | ||
| Público | eliminarDirectorio($directorio); | Eliminar un directorio | ||
| Público | listarDirectorio($directorio); | Listar un directorio | ||
| Público | renombrarDirectorio($directorioAnterior, $directorioNuevo); | Renombrar un directorio | ||
| Público | moverDirectorio($directorioAnterior, $directorioDestino); | Mover un directorio | ||
| Público | abrirArchivo($rutaArchivo, $modo); | Abrir un archivo en un modo especifico | ||
| Público | cerrarArchivo(); | Cerrar el archivo previamente abierto | ||
| Público | leerArchivo($rutaArchivo); | Leer el contenido de un archivo | ||
| Público | escribirArchivo($rutaArchivo, $contenido); | Escribir contenido en un archivo | ||
| Público | apendizarArchivo($rutaArchivo, $contenido); | Apendizar contenido en un archivo | ||
| Público | eliminarArchivo($rutaArchivo); | Eliminar un archivo | ||
| Público | copiarArchivo($archivo); | Copiar un archivo | ||
| Público | renombrarArchivo($archivoAnterior, $archivoNuevo); | Renombrar un archivo | ||
| Público | moverArchivo($archivoAnterior, $archivoNuevo); | Mover un archivo | ||
| Público | getEspacioLibre($directorio); | Devolver espacio libre de un directorio | ||
| Público | getEspacioTotal($directorio); | Devolver espacio total de un directorio | ||
| Público | getEspacioUsado($directorio); | Devolver espacio usado de un directorio | ||
| Público | castearBytes($size); | Convertir un número de B a Kb/Mb/Gb | ||
| Privado | renombrar($anterior, $nuevo); | Renombrar archivo o directorio |
Constantes
| Constante | Descripción | Valor |
|---|---|---|
| FOLDER_UPLOAD | Carpeta de subida por defecto | /var/home/www/html/uploads/ |
Database Versión 1.1.0 10/05/2017 Test
Descripción: Gestión de conexión y consultas de MYSQL.
Usar
use PHP\Database\Database;
Propiedades
private $conexion; // Conexion MySQL (Object)
private $resultado; // Último Resultado (Array|Boolean)
Métodos
public function conectar($database); // Conectar a la DB
public function desconectar(); // Desconectarse de la DB
public function devolver_afectados(); // Devolver la cantidad de registros afectados
public function devolver_numero_filas(); // Devolver la cantidad de registros listados
public function devolver_id_insertado(); // Devolver el id del último registro insertado
public function ejecutar($consulta); // Ejecutar una consulta.
public function ejecutar_select($consulta); // Ejecutar una consulta y devolver los resultados en un array asociativo
public function escape($string); // Escape string evitando un ataque de MySQL Injection
public function setCommit($bool); // Activar/Desactivar MySQL Commit
public function commit(); // Ejecutar todas las consultas (commit)
public function rollback(); // Volver atrás todas las consultas (rollback)
Ejemplos
Detalle Métodos
| Visibilidad | Método | Descripción | Parametros | Retorno |
|---|---|---|---|---|
| Público | conectar($database); | Conectar a la DB | Nombre Database (string) | |
| Público | desconectar(); | Desconectarse de la DB | ||
| Público | devolver_afectados(); | Devolver la cantidad de registros afectados | Nro Registros Afectados (int) | |
| Público | devolver_numero_filas(); | Devolver la cantidad de registros listados | Nro Filas (int) | |
| Público | devolver_id_insertado(); | Devolver el id del último registro insertado | Id Registro Creado (int) | |
| Público | ejecutar($consulta); | Ejecutar una consulta. | Consulta MySQL (string) | Estado (bool) |
| Público | ejecutar_select($consulta); | Ejecutar una consulta y devolver los resultados en un array asociativo | Consulta MySQL (string) | Resultados (array) || Nulo (null) |
| Público | escape($string); | Escape string evitando un ataque de MySQL Injection | Dato (string) | Dato (string) |
| Público | setCommit($bool); | Activar/Desactivar MySQL Commit | ||
| Público | commit(); | Ejecutar todas las consultas (commit) | ||
| Público | rollback(); | Volver atrás todas las consultas (rollback) |
Constantes
| Constante | Descripción | Valor |
|---|---|---|
| DB_HOST | IP del Servidor MySQL | 192.168.0.5 |
| DB_USER | Usuario del Servidor MYSQL | leandroburgoa |
| DB_PASS | Contraseña del Servidor MySQL | 123456 |
| DB_DB | Nombre de la base de datos | Tickets |
| DB_PORT | Puerto del servidor MYSQL | 3306 |
Email Versión 1.0.0 09/07/2019 Test
Descripción: Gestión de envios de correos.
Usar
use PHP\Email\Email;
Propiedades
private $email; // Objeto PHPMailer (Object)
Métodos
public function enviarRapido($subject, $body, $email, $nombre); // Enviar email en forma rapida utilizando 4 parametros
public function enviar(); // Enviar email previamente configurado
public function destinatario($email, $nombre); // Setear destinatario
public function asunto($subject); // Setear asunto
public function cuerpo($body); // Setear cuerpo (mensaje o html)
public function adjunto($rutaArchivo); // Adjuntar archivo adjunto
public function responderA($email, $nombre); // Setear responder a
public function copia($email); // Setear copia
public function copiaOculta($email); // Setear copia oculta
public function limpiarDirecciones(); // Limpiar direcciones
public function limpiarAdjuntos(); // Limpiar archivos adjuntos
public function habilitarDebug($level = 2); // Habilitar Debug PHPMailer
Ejemplos
// Instancio Email
$email = new Email();
// Seteo Campos
$email->destinatario("leandroburgoa@gmail.com", "Leandro Burgoa");
$email->asunto("Asunto");
$email->cuerpo("Mensaje");
// Seteo Campos Opcionales
$email->responderA("brenburgoa@gmail.com", "Brenda Burgoa");
$email->copia("brenburgoa@gmail.com");
//$email->copiaOculta("brenburgoa@gmail.com");
//$email->adjunto($_SERVER["DOCUMENT_ROOT"]."/idiomas/es.json");
// Envio Email
$email->enviar();
// Envio Rapido (En Una Sola Linea!)
//$email->enviarRapido("Asunto", "Mensaje", "leandroburgoa@gmail.com", "Leandro Burgoa");
Detalle Métodos
| Visibilidad | Método | Descripción | Parametros | Retorno |
|---|---|---|---|---|
| Público | enviarRapido($subject, $body, $email, $nombre); | Enviar email en forma rapida utilizando 4 parametros | Estado (Boolean) | Asunto (String), Mensaje (String), Email (String), Nombre (String) |
| Público | enviar(); | Enviar email previamente configurado | Estado (Boolean) | |
| Público | destinatario($email, $nombre); | Setear destinatario | Email (String), Nombre (String) | |
| Público | asunto($subject); | Setear asunto | Asunto (String) | |
| Público | cuerpo($body); | Setear cuerpo (mensaje o html) | Mensaje/Body (String) | |
| Público | adjunto($rutaArchivo); | Adjuntar archivo adjunto | Ruta Archivo (String) | |
| Público | responderA($email, $nombre); | Setear responder a | Email (String), Nombre (String) | |
| Público | copia($email); | Setear copia | Email (String) | |
| Público | copiaOculta($email); | Setear copia oculta | Email (String) | |
| Público | limpiarDirecciones(); | Limpiar direcciones | ||
| Público | limpiarAdjuntos(); | Limpiar archivos adjuntos | ||
| Público | habilitarDebug($level = 2); | Habilitar Debug PHPMailer | Level (Int) |
Constantes
| Constante | Descripción | Valor |
|---|---|---|
| EMAIL_HOST | IP del Servidor de Email | smtp.gmail.com |
| EMAIL_PORT | Puerto del Servidor de Email | 465 |
| EMAIL_USER | Usuario de la cuenta | leandroburgoa@gmail.com |
| EMAIL_PASS | Contraseña de la cuenta | 123456 |
| EMAIL_FROM | Email del remitente | leandroburgoa@gmail.com |
| EMAIL_NAME | Nombre del remitente | Leandro Burgoa |
Excel Versión 1.0.0 07/09/2019 Test
Descripción: Gestión de archivos excels y csv.
Usar
use PHP\Excel\Excel;
Métodos
Ejemplos
Detalle Métodos
| Visibilidad | Método | Descripción | Parametros | Retorno |
|---|
Fecha Versión 1.1.0 01/07/2019 Test
Descripción: Gestión de fecha y horas..
Usar
use PHP\Fecha\Fecha;
Métodos
public function getFecha($fechaUtc = "", $convertirTimeZoneUsuario = false); // 03/07/2019
public function getFechayHora($fechaUtc = "", $convertirTimeZoneUsuario = false); // 03/07/2019 21:46:44
public function getFechaTexto($fechaUtc = "", $convertirTimeZoneUsuario = false); // 3 de Julio de 2019
public function getFechaYHoraTexto($fechaUtc = "", $convertirTimeZoneUsuario = false); // 3 de Julio de 2019 a las 21:46:44
public function getFechaYHoraTextoAlternativa($fechaUtc = "", $convertirTimeZoneUsuario = false); // Jueves 3 de Julio de 2019 a las 21:46:44
public function getAnio($fechaUtc = "", $convertirTimeZoneUsuario = false); // 2019
public function getAnioDosDigitos($fechaUtc = "", $convertirTimeZoneUsuario = false) ; // 19
public function getMes($fechaUtc = "", $convertirTimeZoneUsuario = false) ; // 7
public function getMesDosDigitos($fechaUtc = "", $convertirTimeZoneUsuario = false); // 07
public function getMesTexto($fechaUtc = "", $convertirTimeZoneUsuario = false); // Julio
public function getDia($fechaUtc = "", $convertirTimeZoneUsuario = false) ; // 3
public function getDiaDosDigitos($fechaUtc = "", $convertirTimeZoneUsuario = false); // 03
public function getDiaTexto($fechaUtc = "", $convertirTimeZoneUsuario = false) ; // Miercoles
public function getHoras($fechaUtc = "", $convertirTimeZoneUsuario = false); // 21
public function getMinutos($fechaUtc = "", $convertirTimeZoneUsuario = false); // 46
public function getSegundos($fechaUtc = "", $convertirTimeZoneUsuario = false); // 44
public function getMeridiano($fechaUtc = "", $convertirTimeZoneUsuario = false); // PM
public function getHoraSinSegundos($fechaUtc = "", $convertirTimeZoneUsuario = false) ; // 14:00
public function getHoraConSegundos($fechaUtc = "", $convertirTimeZoneUsuario = false); // 14:00:00
public function getHoraSinSegundosCompleto($fechaUtc = "", $convertirTimeZoneUsuario = false) ; // 14:00 PM
public function getHoraConSegundosCompleto($fechaUtc = "", $convertirTimeZoneUsuario = false); // 14:00:00 PM
public function validarFechaEnRango($fechaDesde, $fechaHasta, $fechaIngresada) ; // Fecha Ingresada este dentro del rango de una fecha mínima y otra máxima
public function validarFechaSuperior($fechaMinima, $fechaIngresada); // Fecha ingresada sea mayor que la fecha maxima
public function validarFechaInferior($fechaMaxima, $fechaIngresada); // Fecha ingresada sea menor que la fecha mínima
public function incrementarFecha($años = false, $meses = false, $dias = false, $horas = false, $minutos = false, $segundos = false, $fechaUtc = "", $convertirTimeZoneUsuario = false); // sdfsdf
public function decrementarFecha($años = false, $meses = false, $dias = false, $horas = false, $minutos = false, $segundos = false, $fechaUtc = "", $convertirTimeZoneUsuario = false); // sdfsdf
public function getDiferenciasEntreFechas($fechaUtc1 = "", $fechaUtc2 = "", $convertirTimeZoneUsuario = false); // Array ( [años] => 1 [meses] => 2 [dias] => 2 [horas] => 2 [minutos] => 4 [segundos] => 1 [diasTotal] => 427 [signo] => + )
public function getMeses(); // Devuelve un array con los meses del año
public function getDias(); // Devuelve un array con los dias del año
public function getEstaciones() ; // Devuelve un array con las estaciones del año
public function getSegmentos(); // Devuelve un array con los segmentos de un día
public function setTimeZone($timeZone); // Setea una zona horaria
public function getTimeZone(); // Devuelve la zona horaria actual
public function listTimeZone(); // Devuelve un array con las zonas horarias disponibles en el servidor
public function setTimeZoneUserInCookie($timeZoneOffsetMinutes); // Setea la zona horaria del usuario (revisar esto)
Ejemplos
// Instancio Fecha
$fecha = new Fecha();
// Fecha Texto
echo $fecha->getFechaTexto("", true); // 31 de Marzo de 2020
echo $fecha->getFechaTexto("2019-07-03 21:46:44", true); // 3 de Julio de 2019
// Validaciones
echo $fecha->validarFechaEnRango("2019-01-01", "2019-12-31", "2019-08-01"); // true
echo $fecha->validarFechaSuperior("2019-01-01", "2019-08-01"); // true
echo $fecha->validarFechaInferior("2019-12-01", "2019-08-01"); // true
// Incrementar y Decrementar
echo $fecha->incrementarFecha($años = false, $meses = false, $dias = false, $horas = false, $minutos = 10, $segundos = false, "2019-08-01 01:46:44", false); // 01/08/2019 01:56:44
echo $fecha->decrementarFecha($años = false, $meses = false, $dias = false, $horas = false, $minutos = 10, $segundos = false, "2019-08-01 01:46:44", false); // 01/08/2019 01:36:44
// Diferencia Entre Fechas
print_r($fecha->getDiferenciasEntreFechas("2019-01-01 01:46:44", "2020-03-03 03:50:45")); // Array ( [años] => 1 [meses] => 2 [dias] => 2 [horas] => 2 [minutos] => 4 [segundos] => 1 [diasTotal] => 427 [signo] => + )
// Time Zone
echo $fecha->getTimeZone(); // UTC
$fecha->setTimeZone("America/Argentina/Buenos_Aires");
//print_r($fecha->listTimeZone()); // Array
// Arrays (Iniciar Idioma)
print_r($fecha->getMeses()); // Array ( [0] => Enero [1] => Febrero [2] => Marzo [3] => Abril [4] => Mayo [5] => Junio [6] => Julio [7] => Agosto [8] => Septiembre [9] => Octubre [10] => Noviembre [11] => Diciembre )
print_r($fecha->getDias()); // Array ( [0] => Lunes [1] => Martes [2] => Miercoles [3] => Jueves [4] => Viernes [5] => Sabado [6] => Domingo )
print_r($fecha->getEstaciones()); // Array ( [0] => Verano [1] => Otoño [2] => Invierno [3] => Primavera )
Detalle Métodos
| Visibilidad | Método | Descripción | Parametros | Retorno |
|---|---|---|---|---|
| Público | getFecha($fechaUtc = "", $convertirTimeZoneUsuario = false); | 03/07/2019 | ||
| Público | getFechayHora($fechaUtc = "", $convertirTimeZoneUsuario = false); | 03/07/2019 21:46:44 | ||
| Público | getFechaTexto($fechaUtc = "", $convertirTimeZoneUsuario = false); | 3 de Julio de 2019 | ||
| Público | getFechaYHoraTexto($fechaUtc = "", $convertirTimeZoneUsuario = false); | 3 de Julio de 2019 a las 21:46:44 | ||
| Público | getFechaYHoraTextoAlternativa($fechaUtc = "", $convertirTimeZoneUsuario = false); | Jueves 3 de Julio de 2019 a las 21:46:44 | ||
| Público | getAnio($fechaUtc = "", $convertirTimeZoneUsuario = false); | 2019 | ||
| Público | getAnioDosDigitos($fechaUtc = "", $convertirTimeZoneUsuario = false) ; | 19 | ||
| Público | getMes($fechaUtc = "", $convertirTimeZoneUsuario = false) ; | 7 | ||
| Público | getMesDosDigitos($fechaUtc = "", $convertirTimeZoneUsuario = false); | 07 | ||
| Público | getMesTexto($fechaUtc = "", $convertirTimeZoneUsuario = false); | Julio | ||
| Público | getDia($fechaUtc = "", $convertirTimeZoneUsuario = false) ; | 3 | ||
| Público | getDiaDosDigitos($fechaUtc = "", $convertirTimeZoneUsuario = false); | 03 | ||
| Público | getDiaTexto($fechaUtc = "", $convertirTimeZoneUsuario = false) ; | Miercoles | ||
| Público | getHoras($fechaUtc = "", $convertirTimeZoneUsuario = false); | 21 | ||
| Público | getMinutos($fechaUtc = "", $convertirTimeZoneUsuario = false); | 46 | ||
| Público | getSegundos($fechaUtc = "", $convertirTimeZoneUsuario = false); | 44 | ||
| Público | getMeridiano($fechaUtc = "", $convertirTimeZoneUsuario = false); | PM | ||
| Público | getHoraSinSegundos($fechaUtc = "", $convertirTimeZoneUsuario = false) ; | 14:00 | ||
| Público | getHoraConSegundos($fechaUtc = "", $convertirTimeZoneUsuario = false); | 14:00:00 | ||
| Público | getHoraSinSegundosCompleto($fechaUtc = "", $convertirTimeZoneUsuario = false) ; | 14:00 PM | ||
| Público | getHoraConSegundosCompleto($fechaUtc = "", $convertirTimeZoneUsuario = false); | 14:00:00 PM | ||
| Público | validarFechaEnRango($fechaDesde, $fechaHasta, $fechaIngresada) ; | Fecha Ingresada este dentro del rango de una fecha mínima y otra máxima | ||
| Público | validarFechaSuperior($fechaMinima, $fechaIngresada); | Fecha ingresada sea mayor que la fecha maxima | ||
| Público | validarFechaInferior($fechaMaxima, $fechaIngresada); | Fecha ingresada sea menor que la fecha mínima | ||
| Público | incrementarFecha($años = false, $meses = false, $dias = false, $horas = false, $minutos = false, $segundos = false, $fechaUtc = "", $convertirTimeZoneUsuario = false); | sdfsdf | ||
| Público | decrementarFecha($años = false, $meses = false, $dias = false, $horas = false, $minutos = false, $segundos = false, $fechaUtc = "", $convertirTimeZoneUsuario = false); | sdfsdf | ||
| Público | getDiferenciasEntreFechas($fechaUtc1 = "", $fechaUtc2 = "", $convertirTimeZoneUsuario = false); | Array ( [años] => 1 [meses] => 2 [dias] => 2 [horas] => 2 [minutos] => 4 [segundos] => 1 [diasTotal] => 427 [signo] => + ) | ||
| Público | getMeses(); | Devuelve un array con los meses del año | Meses (Array) | |
| Público | getDias(); | Devuelve un array con los dias del año | Dias (Array) | |
| Público | getEstaciones() ; | Devuelve un array con las estaciones del año | Estaciones (Array) | |
| Público | getSegmentos(); | Devuelve un array con los segmentos de un día | Segmentos (Array) | |
| Público | setTimeZone($timeZone); | Setea una zona horaria | Timezone (String) | |
| Público | getTimeZone(); | Devuelve la zona horaria actual | Timezone (String) | |
| Público | listTimeZone(); | Devuelve un array con las zonas horarias disponibles en el servidor | Timezones (Array) | |
| Público | setTimeZoneUserInCookie($timeZoneOffsetMinutes); | Setea la zona horaria del usuario (revisar esto) | Minutos (Int) |
Constantes
| Constante | Descripción | Valor |
|---|---|---|
| TIMEZONE_DEFAULT | Time zone por defecto | America/Argentina/Buenos_Aires |
Formulario Versión 1.0.0 07/09/2019 Test
Descripción: Generador de Formularios HTML.
Usar
use PHP\Formulario\Formulario;
Métodos
Ejemplos
Detalle Métodos
| Visibilidad | Método | Descripción | Parametros | Retorno |
|---|
Idioma Versión 1.0.0 26/06/2019 Test
Descripción: Gestión de idiomas e internalización..
Usar
use PHP\Idioma\Idioma;
Métodos
public function getIdiomaNavegador(); // Obtiene el codigo del lenguaje del navegador (ejemplo: ES, UN)
public function setIdiomaUsuario($codigoIdioma); // Setea el idioma del usuario en $_SESSION["idioma"]. Si no existe, setea el idioma default (ES). Luego ejecuta cargarJsonIdioma()
public function cargarJsonIdioma(); // Carga en $_SESSION["textos"] los textos del idioma elegido/default en $_SESSION["idioma"] leyendo el archivo de traducciones (es.json)
public function getTexto($clave); // Devuelve de $_SESSION["textos"] el texto a mostrar según la clave solicitada. Si no existe, busca la clave en el idioma default. Si tampoco existe, devuelve un string vacio y logea el error en el sistema
public function getTextos(); // Devuelve un array asociativo con todos los textos de todos los idiomas
public function getIdiomas(); // Devuelve un array asociativo con todos los idiomas
public function iniciar(); // Inicializa la funcionalidad seteando el idioma del usuario según el idioma del navegador y luego cargando en $_SESSION los textos (ejecuta setIdiomaUsuario con getIdiomaNavegador como parametro)
public function insertarIdioma($idioma, $codigo); // Inserta un nuevo idioma (codigo y nombre) en el archivo idiomas.json y crea el archivo de traducciones (es.json)
public function eliminarIdioma($codigo); // Elimina el idioma del archivo idiomas.json y elimina el archivo de traducciones (es.json)
public function modificarIdioma($codigoAnterior, $codigoNuevo, $idiomaNuevo); // Modifica el idioma (codigo y nombre) del archivo idiomas.json
public function insertarTexto(); // Pendiente!
public function eliminarTexto(); // Pendiente!
public function modificarTexto(); // Pendiente!
Ejemplos
// Instancio Idioma
$idioma = new Idioma();
// Get Idioma Navegador
$codigo = $idioma->getIdiomaNavegador(); // "ES"
// Set Idioma Usuario
$idioma->setIdiomaUsuario($codigo); // Estos dos pasos se podria evitar ejecutando "$idioma->iniciar()"
//$idioma->setIdiomaUsuario("EN"); // Se puede setear el idioma del usuario recuperando el valor por $_POST ;)
// Get Textos
$textos = $idioma->getTextos(); // [ "bienvenido" => "Bienvenido", "hola" => "Hola"]
// Get Texto (método principal! ;)
echo $idioma->getTexto("bienvenido"); // "Bienvenido"
// Get Idiomas
$idiomas = $idioma->getIdiomas(); // [ "es" => "Español", "en" => "English"]
/* ABM Idioma */
// Insertar Idioma
$idioma->insertarIdioma("Portugues", "pt");
// Modificar Idioma
//$idioma->modificarIdioma("pt", "pt", "Portugués");
// Eliminar Idioma
//$idioma->eliminarIdioma("pt");
/* Abm Textos */
// Pendientes
Detalle Métodos
| Visibilidad | Método | Descripción | Parametros | Retorno |
|---|---|---|---|---|
| Público | getIdiomaNavegador(); | Obtiene el codigo del lenguaje del navegador (ejemplo: ES, UN) | Codigo Idioma (String) | |
| Público | setIdiomaUsuario($codigoIdioma); | Setea el idioma del usuario en $_SESSION["idioma"]. Si no existe, setea el idioma default (ES). Luego ejecuta cargarJsonIdioma() | Codigo Idioma (String) | |
| Público | cargarJsonIdioma(); | Carga en $_SESSION["textos"] los textos del idioma elegido/default en $_SESSION["idioma"] leyendo el archivo de traducciones (es.json) | ||
| Público | getTexto($clave); | Devuelve de $_SESSION["textos"] el texto a mostrar según la clave solicitada. Si no existe, busca la clave en el idioma default. Si tampoco existe, devuelve un string vacio y logea el error en el sistema | Clave (String) | Texto (String) |
| Público | getTextos(); | Devuelve un array asociativo con todos los textos de todos los idiomas | Textos de idiomas (Array) | |
| Público | getIdiomas(); | Devuelve un array asociativo con todos los idiomas | Idiomas (Array) | |
| Público | iniciar(); | Inicializa la funcionalidad seteando el idioma del usuario según el idioma del navegador y luego cargando en $_SESSION los textos (ejecuta setIdiomaUsuario con getIdiomaNavegador como parametro) | ||
| Público | insertarIdioma($idioma, $codigo); | Inserta un nuevo idioma (codigo y nombre) en el archivo idiomas.json y crea el archivo de traducciones (es.json) | Nombre Idioma (String), Codigo Idioma (String) | |
| Público | eliminarIdioma($codigo); | Elimina el idioma del archivo idiomas.json y elimina el archivo de traducciones (es.json) | Codigo Idioma (String) | |
| Público | modificarIdioma($codigoAnterior, $codigoNuevo, $idiomaNuevo); | Modifica el idioma (codigo y nombre) del archivo idiomas.json | Codigo Idioma Anterior (String), Codigo Idioma Nuevo (String), Nombre Idioma Nuevo (String) | |
| Público | insertarTexto(); | Pendiente! | ||
| Público | eliminarTexto(); | Pendiente! | ||
| Público | modificarTexto(); | Pendiente! |
Constantes
| Constante | Descripción | Valor |
|---|---|---|
| IDIOMA_DEFAULT | Idioma por defecto | ES |
Lista Versión 1.0.0 27/02/2019 Test
Descripción: Generador de Listas HTML..
Usar
use PHP\Lista\Lista;
Propiedades
private $list; // Clase de Lista, ejemplo: ul, ol (String)
private $type; // Tipo de Lista, ejemplo: disc, square, circle (String)
private $items; // Elementos de la lista. (Array)
private $id; // Id de la lista (String)
private $class; // Clase de la lista (String)
Métodos
public function setList($list); // Setea la lista (ul, ol)
public function setType($type) ; // Setea el tipo (disc, square, circle)
public function addItem($item); // Añade item
public function deleteItems(); // Elimina todos los items
public function getTotalItems(); // Devuelve total de items
public function getHTML(); // Devuelve codigo HTML
public function setId($id); // Setea id
public function setClass($class); // Setea clase
public function getId(); // Devuelve id
public function getClass(); // Devuelve clase
Ejemplos
// Instancio Lista
$lista = new Lista(UL, SQUARE, ["Tarea 1", "Tarea 2"]);
// Seteo Clase
$lista->setClass("menu");
// Seteo Id
$lista->setId("lista_tareas");
// Elimino Items
//$lista->deleteItems();
// Añado Item
$lista->addItem("Tarea 3");
$lista->addItem("Tarea 4");
// Imprimo HTML
echo $lista->getHTML();
// Imprimo Total
echo "Total: " . $lista->getTotalItems();
Detalle Métodos
| Visibilidad | Método | Descripción | Parametros | Retorno |
|---|---|---|---|---|
| Público | setList($list); | Setea la lista (ul, ol) | Lista (String) | |
| Público | setType($type) ; | Setea el tipo (disc, square, circle) | Tipo (String) | |
| Público | addItem($item); | Añade item | Item (String) | |
| Público | deleteItems(); | Elimina todos los items | ||
| Público | getTotalItems(); | Devuelve total de items | Total (Int) | |
| Público | getHTML(); | Devuelve codigo HTML | Codigo (String) | |
| Público | setId($id); | Setea id | Id (String) | |
| Público | setClass($class); | Setea clase | Clase (String) | |
| Público | getId(); | Devuelve id | Id (String) | |
| Público | getClass(); | Devuelve clase | Clase (String) |
Log Versión 1.0.0 11/04/2019 Test
Descripción: Sistema de registro de eventos con niveles y soportes.
Usar
use PHP\Log\Log;
Métodos
public function debug($mensaje); // Nivel 1: Depuración
public function info($mensaje); // Nivel 2: Información
public function notice($mensaje); // Nivel 3: Noticia
public function warning($mensaje); // Nivel 4: Advertencia
public function error($mensaje); // Nivel 5: Error
public function critical($mensaje); // Nivel 6: Critico
public function alert($mensaje); // Nivel 7: Alerta
public function emergency($mensaje); // Nivel 8: Emergencia
Ejemplos
// Instancio Log
$log = new Log();
// Log Según Niveles
$log->debug($consulta);
$log->info("Restauración: se realizo con exito.");
$log->notice("Administrador: Se inserto un registro.");
$log->warning("Almacenamiento: Espacio al 80% ocupado.");
$log->error("Query: No se pudo ejecutar la consulta.");
$log->critical("Backup: No se pudo realizar el backup diario.");
$log->alert("Email: Error de autenticación.");
$log->emergency("MySQL: Error de conexión.");
Detalle Métodos
| Visibilidad | Método | Descripción | Parametros | Retorno |
|---|---|---|---|---|
| Público | debug($mensaje); | Nivel 1: Depuración | Mensaje (String) | |
| Público | info($mensaje); | Nivel 2: Información | Mensaje (String) | |
| Público | notice($mensaje); | Nivel 3: Noticia | Mensaje (String) | |
| Público | warning($mensaje); | Nivel 4: Advertencia | Mensaje (String) | |
| Público | error($mensaje); | Nivel 5: Error | Mensaje (String) | |
| Público | critical($mensaje); | Nivel 6: Critico | Mensaje (String) | |
| Público | alert($mensaje); | Nivel 7: Alerta | Mensaje (String) | |
| Público | emergency($mensaje); | Nivel 8: Emergencia | Mensaje (String) |
Constantes
| Constante | Descripción | Valor |
|---|---|---|
| LOG_ACTIVE | Si el log se encuentra activo | TRUE |
| LOG_FILE_PATH | Ruta donde se guardan los archivos | /var/www/html/logs/ |
| LOG_FILE_SPLIT_LEVEL | Si se dividen los archivos por niveles | false |
| LOG_FILE_PERIOD | Periodo en que se dividen los archivos (DAY, MONTH, YEAR, ALL) | MONTH |
| LOG_TABLE | Nombre de la tabla MySQL | Log |
| LOG_EMAIL | Email de destino | leandroburgoa@gmail.com |
| LOG_SMS | Telefono de destino | 5401132590997 |
| LOG_MIN_LEVEL | Nivel minimo que se debe logear | LogLevel::INFO |
| LOG_SUPPORTS | Soportes en que se deben logear | [LogSupport::DATABASE, LogSupport::FILE] |
| LOG_SUPPORT_LEVEL | Según el nivel, en que soportes logear (pendiente) | [LogLevel::EMERGENCY => [LogSupport::SMS], LogLevel::ALERT => [LogSupport::SMS], LogLevel::CRITICAL => [LogSupport::SMS], LogLevel::ERROR => [LogSupport::EMAIL], LogLevel::WARNING => [LogSupport::FILE], LogLevel::NOTICE => [LogSupport::FILE], LogLevel::INFO => [LogSupport::FILE], LogLevel::DEBUG => [LogSupport::FILE] ] |
Migracion Versión 1.0.0 26/04/2019 Test
Descripción: Migración de Base De Datos.
Usar
use PHP\Migracion\Migracion;
Métodos
public function listarScripts(); // Lista scripts de carpeta /scripts
public function listarScriptsPendientes(); // Lista scripts pendientes de carpeta /scripts
public function listarMigraciones(); // Lista migraciones de tabla Migracion
public function insertarMigracion($nombreArchivo, $scriptArchivo, $ejecutado); // Inserta un nuevo registro en la tabla Migración
public function ejecutarMigracionesPendientes(); // Ejecuta scripts pendientes y luego los inserta en la tabla
public function crearScript($titulo, $script); // Crea script en la carpeta /scripts
public function eliminarBase(); // Crítico: Elimina la base de datos
public function reestablecerBase(); // Crítico: Elimina la base de datos y ejecuta migraciones pendientes
Ejemplos
Detalle Métodos
| Visibilidad | Método | Descripción | Parametros | Retorno |
|---|---|---|---|---|
| Público | listarScripts(); | Lista scripts de carpeta /scripts | Scripts (Array) | |
| Público | listarScriptsPendientes(); | Lista scripts pendientes de carpeta /scripts | Scripts Pendientes (Array) | |
| Público | listarMigraciones(); | Lista migraciones de tabla Migracion | Migraciones (Array) | |
| Público | insertarMigracion($nombreArchivo, $scriptArchivo, $ejecutado); | Inserta un nuevo registro en la tabla Migración | Archivo Nombre (String), Script MySQL (String) Ejecutado (Boolean) | |
| Público | ejecutarMigracionesPendientes(); | Ejecuta scripts pendientes y luego los inserta en la tabla | ||
| Público | crearScript($titulo, $script); | Crea script en la carpeta /scripts | Titulo Migración (String), Script MySQL (String) | |
| Público | eliminarBase(); | Crítico: Elimina la base de datos | ||
| Público | reestablecerBase(); | Crítico: Elimina la base de datos y ejecuta migraciones pendientes |
Constantes
| Constante | Descripción | Valor |
|---|---|---|
| FOLDER_SCRIPTS | Carpeta donde se almacen los scripts MySQL | /var/home/www/html/sql/ |
| DB_DB | Nombre de la base de datos | Tickets |
PasswordStrong Versión 1.0.0 06/08/2019 Test
Descripción: Calculador de Nivel de Seguridad de Contraseña.
Usar
use PHP\PasswordStrong\PasswordStrong;
Propiedades
private $password; // Contraseña (String)
private $requisitos; // Lista de requisitos iniciales (Array)
private $contadores; // Lista de contadores de tipo de caracteres (Array)
private $errores; // Lista de errores de la contraseña (Array)
private $esValida; // Si la contraseña cumplio los requisitos (Boolean)
private $strong; // Nivel de seguridad de la contraseña, del 0 al 100 (Int)
Métodos
public function procesar(); // Procesa y valida el nivel de seguridad
public function getRequisitos(); // Devuelve lista de requisitos
public function getContadores(); // Devuelve lista de contadores de caracteres
public function getErrores(); // Devuelve lista de errores
public function getEsValida(); // Devuelve si es valida
public function getStrong(); // Devuelve nivel de seguridad
private function contarCaracteres(); // Calcula la cantidad de caracteres de la contraseña
private function calcularStrong(); // Calcula el nivel de seguridad de la contraseña
private function validarPassword(); // Valida que la contraseña cumpla con los requisitos
Ejemplos
// Sets de Contraseñas
//$password = "a";
//$password = "aC";
//$password = "abCD";
//$password = "abCD12";
//$password = "abCD12!";
$password = "abCD12!#.*"; // 100%: 2 minusculas, 2 mayusculas, 2 numeros, 4 signos
// Instancio PasswordStrong
$obj = new PasswordStrong($password);
// Get Requisitos
var_dump($obj->getRequisitos());
// Proceso Contraseña
var_dump($obj->procesar());
// Si La Contraseña No Es Valida
if (!$obj->getEsValida()) {
// Get Errores
var_dump($obj->getErrores());
}
// Get Strong
var_dump($obj->getStrong());
// Get Contadores
var_dump($obj->getContadores());
Detalle Métodos
| Visibilidad | Método | Descripción | Parametros | Retorno |
|---|---|---|---|---|
| Público | procesar(); | Procesa y valida el nivel de seguridad | Valida (Boolean) | |
| Público | getRequisitos(); | Devuelve lista de requisitos | Requisitos (Array) | |
| Público | getContadores(); | Devuelve lista de contadores de caracteres | Contadores (Array) | |
| Público | getErrores(); | Devuelve lista de errores | Errores (Array) | |
| Público | getEsValida(); | Devuelve si es valida | Valida (Boolean) | |
| Público | getStrong(); | Devuelve nivel de seguridad | Nivel (Int) | |
| Privado | contarCaracteres(); | Calcula la cantidad de caracteres de la contraseña | ||
| Privado | calcularStrong(); | Calcula el nivel de seguridad de la contraseña | ||
| Privado | validarPassword(); | Valida que la contraseña cumpla con los requisitos |
Constantes
| Constante | Descripción | Valor |
|---|---|---|
| REQUISITOS_DEFAULT | Requisitos de la contraseña según tipo de caracter y cantidad del mismo | [ "caracteres" => 7, "letras" => 2, "numeros" => 2, "mayusculas" => 1, "minusculas" => 1, "simbolos" => 1 ]; |
Query Versión 1.0.0 16/01/2020 Test
Descripción: Disparador de Consultas MySQL.
Usar
use PHP\Query\Query;
Propiedades
private $conexion; // Objeto de conexión MySQLi (Object)
private $resultado; // Último resultado que se obtuvo (Array|Int|Boolean)
private $consulta; // Última consulta MYSQL que se ejecutó (String)
Métodos
public function select($table, $where = null, $fields = ["*"], $join = null, $order = null, $limit = null, $offset = null); // Ejecuta una consulta de tipo Select
public function insert($table, $values); // Ejecuta una consulta de tipo Insert
public function update($table, $values, $where); // Ejecuta una consulta de tipo Update
public function delete($table, $where); // Ejecuta una consulta de tipo Delete
public function getConexion(); // Devuelve la conexion MySQLi
public function getResultado(); // Devuelve el último resultado
public function getConsulta(); // Devuelve la última consulta
Ejemplos
/* Select */
print_r(Query::select("TicketCategoria", "id > 1", ["id", "nombre"], null, "nombre ASC", 5, 2)); // table, where-id, fields, join, order, limit, offset
print_r(Query::select("TicketCategoria", "id = 1", ["id", "nombre"])); // Select id, nombre From TicketCategoria Where id = 1
print_r(Query::select("TicketCategoria", "id > 10")); // Where id > 10
print_r(Query::select("TicketCategoria", 1)); // Where id = 1
print_r(Query::select("TicketCategoria"));
/* Insert */
print_r(Query::insert("TicketCategoria", ["nombre" => "Zapatillas"])); // table, values
/* Update */
print_r(Query::update("TicketCategoria", ["nombre" => "Camisas", "activo" => 1], 1)); // table, values, where-id
/* Delete */
print_r(Query::delete("TicketCategoria", 15)); // table, where-id
/* Gets */
print_r(Query::getConexion()); // Object MySQLi
print_r(Query::getResultado()); // Array|Int Resultado
print_r(Query::getConsulta()); // Query MySQL
Detalle Métodos
| Visibilidad | Método | Descripción | Parametros | Retorno |
|---|---|---|---|---|
| Público | select($table, $where = null, $fields = ["*"], $join = null, $order = null, $limit = null, $offset = null); | Ejecuta una consulta de tipo Select | Table (String), Where (Int|String), Fields (Array), Join (String), Order (String), Limit (Int), Offset (Int) | Registros (Array) |
| Público | insert($table, $values); | Ejecuta una consulta de tipo Insert | Table (String), Values (Array) | Id Registro Insertado (Int) |
| Público | update($table, $values, $where); | Ejecuta una consulta de tipo Update | Table (String), Values (Array), Where (Int|String) | Registros Afectados (Int) |
| Público | delete($table, $where); | Ejecuta una consulta de tipo Delete | Table (String), Where (Int|String) | Registros Afectados (Int) |
| Público | getConexion(); | Devuelve la conexion MySQLi | Conexion (Object) | |
| Público | getResultado(); | Devuelve el último resultado | Resultado (Array|Int) | |
| Público | getConsulta(); | Devuelve la última consulta | Consulta (String) |
Router Versión 1.0.0 27/02/2019 Test
Descripción: Enrutador de requests hacia una función de un controlador.
Usar
use PHP\Router\Router;
Propiedades
private $requestURL; // URL solicitada por el cliente (String)
private $requestMethod; // Método solicitado por el cliente (String)
private $rutas; // Rutas configuradas en el sistema (Array)
private $controlador; // Controlador y método que se va a ejecutar (String)
private $parametros; // Parametros que se van a enviar al método del controlador (Array)
private $error; // Mensaje de error que produjo el router (String)
Métodos
public function addRuta($verbo, $endpoint, $function); // Añade una ruta específica
public function addRutasControladores($arrayControladores); // Añade un conjunto de rutas preestablecidas de un controlador típico
public function routing(); // Procesa la solicitud del usuario y la encamina al controlador específico
public function debug(); // Devuelve un array con todos los atributos del ruteo (url, method, error, etc)
Ejemplos
// Instancio Router
$router = new Router();
// Agrego Rutas Especificas (method, endpoint, function)
$router->addRuta(GET, "/", function() { echo "PHP Core"; } );
$router->addRuta(GET, "/usuarios", "usuario@index"); // GET a www.servidor.net/usuarios ejecuta método index() de "UsuarioControlador"
$router->addRuta(GET, "/categorias", "categoria@index"); // controlador@metodo || function() {}
// Array Controladores
$controladores = [
"categoria",
"modulo",
"pais",
"idioma",
"usuario",
];
// Agrego Rutas Básicas Para Controladores (CRUD Típico)
$router->addRutasControladores($controladores);
// AddRutasControladores Crea Las Siguientes Rutas:
/*
$router->addRuta(GET, "/categoria", "categoria@listarTodos" );
$router->addRuta(GET, "/categoria/{id}", "categoria@listarUno" );
$router->addRuta(POST, "/categoria", "categoria@insertar" );
$router->addRuta(PUT, "/categoria/{id}", "categoria@modificar" );
$router->addRuta(DELETE, "/categoria/{id}", "categoria@eliminar" );
$router->addRuta(GET, "/categoria/log/{id}", "categoria@listarLog" );
$router->addRuta(GET, "/categoria/exportar/xls", "categoria@exportarXLS" );
$router->addRuta(GET, "/categoria/exportar/csv", "categoria@exportarCSV" );
$router->addRuta(GET, "/categoria/exportar/pdf", "categoria@exportarPDF" );
$router->addRuta(GET, "/categoria/exportar/email", "categoria@exportaexportarEmailrXLS" );
$router->addRuta(GET, "/categoria/exportar/imprimir", "categoria@exportarImprimir" );
*/
// Proceso Request
$router->routing();
Detalle Métodos
| Visibilidad | Método | Descripción | Parametros | Retorno |
|---|---|---|---|---|
| Público | addRuta($verbo, $endpoint, $function); | Añade una ruta específica | Verbo (String|Constante), Endpoint (String), Controlador@Metodo (String||Function()) | |
| Público | addRutasControladores($arrayControladores); | Añade un conjunto de rutas preestablecidas de un controlador típico | Controladores (Array) | |
| Público | routing(); | Procesa la solicitud del usuario y la encamina al controlador específico | ||
| Público | debug(); | Devuelve un array con todos los atributos del ruteo (url, method, error, etc) | Propiedades (Array) |
Constantes
| Constante | Descripción | Valor |
|---|---|---|
| GET | Método HTTP GET | GET |
| POST | Método HTTP POST | POST |
| PUT | Método HTTP PUT | PUT |
| DELETE | Método HTTP DELETE | DELETE |
Tabla Versión 1.0.0 27/02/2019 Test
Descripción: Generador de Tablas HTML.
Usar
use PHP\Tabla\Tabla;
Propiedades
private $header; // Encabezado de la tabla (Array)
private $rows; // Filas de la tabla (Array)
private $id; // Id de la tabla (String)
private $class; // Clase de la tabla (String)
Métodos
public function setHeader($header); // Setea el encabezado
public function addRow($row); // Añade una fila
public function deleteAllRows(); // Elimina todas las filas
public function getTotalRows(); // Devuelve el total de filas
public function getHTML(); // Devuelve codigo HTML
public function setId($id); // Setea id
public function setClass($class); // Setea clase
public function getId(); // Devuelve id
public function getClass(); // Devuelve clase
Ejemplos
// Instancio Tabla
$tabla = new Tabla();
// Seteo Id & Class
$tabla->setId("tabla-usuarios");
$tabla->setClass("tabla-dark");
// Seteo Cabecera
$tabla->setHeader(["Nombre", "Pais", "Fecha"]);
// Seteo Fila
$tabla->addRow(["Brenda", "Argentina", "25/02/97"]);
// Elimino Filas
//$tabla->deleteAllRows();
// Seteo Fila
$tabla->addRow(["Leandro","Argentina", "05/06/88"]);
// Instancio Tabla 2
/*$tabla = new Tabla(
["Id", "Categoria", "Estado"],
[
["1", "Zapatilla", "Activo"],
["1", "Camisetas", "Inactivo"],
] // TIP: Puede recibir la respuesta de $obj->listarTodos() ^^
);*/
// Imprimo Tabla
echo $tabla->getHTML();
// Imprimo Total
echo "Total: ".$tabla->getTotalRows();
Detalle Métodos
| Visibilidad | Método | Descripción | Parametros | Retorno |
|---|---|---|---|---|
| Público | setHeader($header); | Setea el encabezado | Encabezado (Array) | |
| Público | addRow($row); | Añade una fila | Fila (Array) | |
| Público | deleteAllRows(); | Elimina todas las filas | ||
| Público | getTotalRows(); | Devuelve el total de filas | Total Filas (Int) | |
| Público | getHTML(); | Devuelve codigo HTML | Codigo (String) | |
| Público | setId($id); | Setea id | Id (String) | |
| Público | setClass($class); | Setea clase | Clase (String) | |
| Público | getId(); | Devuelve id | Id (String) | |
| Público | getClass(); | Devuelve clase | Clase (String) |
Texto Versión 1.0.0 09/07/2019 Test
Descripción: Utilidades de Texto.
Usar
use PHP\Texto\Texto;
Métodos
public function generarStringAleatorio($cantidadCaracteres = 8, $tiposCaracteres = [LETRAS, NUMEROS]); // Devuelve un string aleatorio
public function poseeInsulto($texto); // Valida que un texto incluya un insulto en el idioma por defecto
public function getSimbolos(); // Devuelve un array con los caracteres especiales del teclado
public function getNumeros(); // Devuelve un array con los números del 0 al 9
public function getAlfabetoMinusculas(); // Devuelve un array con el alfabeto en minúscula: a-z
public function getAlfabetoMayusculas(); // Devuelve un array con el alfabeto en mayúscula: A-Z
public function getAlfabetoCompleto(); // Devuelve un array con el alfabeto completo: a-z y A-Z
Ejemplos
/* Get Simbolos */
var_dump(Texto::getSimbolos());
/* Get Numeros */
var_dump(Texto::getNumeros());
/* Get Alfabeto */
var_dump(Texto::getAlfabetoMinusculas());
var_dump(Texto::getAlfabetoMayusculas());
var_dump(Texto::getAlfabetoCompleto());
/* Generar String Aleatorio */
echo Texto::generarStringAleatorio(); // Lk7FM4Z4
echo Texto::generarStringAleatorio(10); // cF2T47FA9c
echo Texto::generarStringAleatorio(4, [NUMEROS]); // 2587
echo Texto::generarStringAleatorio(6, [NUMEROS, LETRAS, SIMBOLOS]); // 2a%z&1
/* Validar Insulto */
var_dump(Texto::poseeInsulto("Hola puto")); // true
var_dump(Texto::poseeInsulto("Hola amigo")); // false
Detalle Métodos
| Visibilidad | Método | Descripción | Parametros | Retorno |
|---|---|---|---|---|
| Público | generarStringAleatorio($cantidadCaracteres = 8, $tiposCaracteres = [LETRAS, NUMEROS]); | Devuelve un string aleatorio | Cantidad Caracteres (Int), Tipos Caracteres (Array) | Texto Aleatorio (String) |
| Público | poseeInsulto($texto); | Valida que un texto incluya un insulto en el idioma por defecto | Texto (String) | Estado (Boolean) |
| Público | getSimbolos(); | Devuelve un array con los caracteres especiales del teclado | Simbolos (Array) | |
| Público | getNumeros(); | Devuelve un array con los números del 0 al 9 | Numeros (Array) | |
| Público | getAlfabetoMinusculas(); | Devuelve un array con el alfabeto en minúscula: a-z | Alfabeto (Array) | |
| Público | getAlfabetoMayusculas(); | Devuelve un array con el alfabeto en mayúscula: A-Z | Alfabeto (Array) | |
| Público | getAlfabetoCompleto(); | Devuelve un array con el alfabeto completo: a-z y A-Z | Alfabeto (Array) |
Constantes
| Constante | Descripción | Valor |
|---|---|---|
| LETRAS | Caracteres de tipo alfabeticos (abc) | letras |
| NUMEROS | Caracteres de tipo numericos (123) | numeros |
| SIMBOLOS | Caracteres de tipo simbolos (%$#) | simbolos |
Upload Versión 1.0.0 15/08/2019 Test
Descripción: Gestion de Subida de Archivos.
Usar
use PHP\Upload\Upload;
Propiedades
private $temporal; // Ubicación temporal del archivo (String)
private $nombre; // Nombre original del archivo (String)
private $tipo; // Tipo del archivo (String)
private $size; // Tamaño del archivo en bytes (Int)
private $error; // Error en la subida de php (Boolean)
private $extension; // Extensión del archivo (String)
private $nombreGenerado; // Nombre generado aleatoriamente (String)
private $estado; // Estado del proceso de subida (Boolean)
private $mensaje; // Mensaje del proceso de subida (String)
private $carpetaDestino; // Carpeta donde se almacena el archivo (String)
private $tamanoMaximoEnBytes; // Tamaño máximo en bytes que permite subir un archivo (Int)
private $extensionesValidas; // Extensiones validas (mime types) que se permite de un archivo (Array)
Métodos
public function getUbicacionTemporal(); // Devuelve la ubicación temporal del archivo
public function getNombre(); // Devuelve el nombre original del archivo
public function getTipo(); // Devuelve el tipo del archivo
public function getSize(); // Devuelve el tamaño del archivo
public function getError(); // Devuelve el estado de error de php
public function getExtension(); // Devuelve la extension del archivo
public function getNombreGenerado(); // Devuelve el nombre generado aleatoriamente
public function getEstado(); // Devuelve el estado del proceso
public function getMensaje(); // Devuelve el mensaje del proceso
public function getCarpetaDestino(); // Devuelve la carpeta de destino
public function getTamanoMaximoEnBytes(); // Devuelve el tamaño máximo en bytes
public function getExtensionesValidas(); // Devuelve las extensiones validas
public function setCarpetaDestino($carpetaDestino); // Setea la carpeta destino
public function setTamanoMaximoEnBytes($B); // Setea el tamaño máximo en bytes
public function setTamanoMaximoEnKiloBytes($KB); // Setea el tamaño máximo en kilobytes
public function setTamanoMaximoEnMegaBytes($MB); // Setea el tamaño máximo en megabytes
public function setExtensionesValidas($arrayExtensiones); // Setea las extensiones validas
public function setExtensionValidaTipoImagen($tamanoMaxEnMB = 10); // Setea las extensiones validas como imagen
public function setExtensionValidaTipoAudio($tamanoMaxEnMB = 20); // Setea las extensiones validas como audio
public function setExtensionValidaTipoVideo($tamanoMaxEnMB = 100); // Setea las extensiones validas como video
public function setExtensionValidaTipoPDF($tamanoMaxEnMB = 50); // Setea las extensiones validas como pdf
public function setExtensionValidaTipoTXT($tamanoMaxEnMB = 2); // Setea las extensiones validas como txt
public function setExtensionValidaTipoComprimido($tamanoMaxEnMB = 100); // Setea las extensiones validas como comprimido
public function setExtensionValidaTipoDocumentoOficina($tamanoMaxEnMB = 15); // Setea las extensiones validas como documento oficina
public function setExtensionValidaTipoDocumentoWeb($tamanoMaxEnMB = 2); // Setea las extensiones validas como documento web
public function procesar(); // Procesa la subida del archivo, validando los requerimientos
Ejemplos
// Instancio Upload
$upload = new Upload($_FILES["foto"]);
// Configuro Carpeta Destino
$upload->setCarpetaDestino("imagenes/"); // Dentro de la carpeta base (definida en CARPETA_UPLOAD)
// Configuro Tamaño Máximo
$upload->setTamanoMaximoEnMegaBytes(2);
//$upload->setTamanoMaximoEnKiloBytes(10);
//$upload->setTamanoMaximoEnBytes(50);
// Configuro Extension Valida (Tipo de archivo)
$upload->setExtensionValidaTipoImagen();
//$upload->setExtensionValidaTipoAudio();
//$upload->setExtensionValidaTipoVideo();
//$upload->setExtensionValidaTipoPDF();
//$upload->setExtensionValidaTipoTXT();
//$upload->setExtensionValidaTipoComprimido();
//$upload->setExtensionValidaTipoDocumentoOficina();
//$upload->setExtensionValidaTipoDocumentoWeb();
//$upload->setExtensionesValidas("text/css");
// Proceso Archivo
$upload->procesar(); // Destino: "upload/imagenes/", Tipo: "imagen", Tamaño máx: "2MB", Variable: $_FILES["foto"]
// Consulto Estado
if ($upload->getEstado()) {
echo "Subida exitosa";
} else {
echo "Subida no exitosa: ".$upload->getMensaje(); // Si se produjo un error o no cumplio los requisitos
}
// Gets Archivo
var_dump($upload->getUbicacionTemporal());
var_dump($upload->getNombre());
var_dump($upload->getTipo());
var_dump($upload->getSize());
var_dump($upload->getError());
var_dump($upload->getExtension());
var_dump($upload->getNombreGenerado());
var_dump($upload->getEstado());
var_dump($upload->getMensaje());
var_dump($upload->getCarpetaDestino());
var_dump($upload->getTamanoMaximoEnBytes());
var_dump($upload->getExtensionesValidas());
Detalle Métodos
| Visibilidad | Método | Descripción | Parametros | Retorno |
|---|---|---|---|---|
| Público | getUbicacionTemporal(); | Devuelve la ubicación temporal del archivo | Ubicación Temporal (String) | |
| Público | getNombre(); | Devuelve el nombre original del archivo | Nombre Original (String) | |
| Público | getTipo(); | Devuelve el tipo del archivo | Tipo Archivo (String) | |
| Público | getSize(); | Devuelve el tamaño del archivo | Tamaño Archivo (Int) | |
| Público | getError(); | Devuelve el estado de error de php | Error PHP (Boolean) | |
| Público | getExtension(); | Devuelve la extension del archivo | Extensión Archivo (String) | |
| Público | getNombreGenerado(); | Devuelve el nombre generado aleatoriamente | Nombre Generado (String) | |
| Público | getEstado(); | Devuelve el estado del proceso | Estado Proceso (Boolean) | |
| Público | getMensaje(); | Devuelve el mensaje del proceso | Mensaje Proceso (String) | |
| Público | getCarpetaDestino(); | Devuelve la carpeta de destino | Carpeta Destino (String) | |
| Público | getTamanoMaximoEnBytes(); | Devuelve el tamaño máximo en bytes | Tamaño Máximo (Int) | |
| Público | getExtensionesValidas(); | Devuelve las extensiones validas | Extensiones Validas (Array) | |
| Público | setCarpetaDestino($carpetaDestino); | Setea la carpeta destino | Carpeta Destino (String) | |
| Público | setTamanoMaximoEnBytes($B); | Setea el tamaño máximo en bytes | Tamaño Bytes (Int) | |
| Público | setTamanoMaximoEnKiloBytes($KB); | Setea el tamaño máximo en kilobytes | Tamaño KiloBytes (Int) | |
| Público | setTamanoMaximoEnMegaBytes($MB); | Setea el tamaño máximo en megabytes | Tamaño MegaBytes (Int) | |
| Público | setExtensionesValidas($arrayExtensiones); | Setea las extensiones validas | Extensiones Validas (Array) | |
| Público | setExtensionValidaTipoImagen($tamanoMaxEnMB = 10); | Setea las extensiones validas como imagen | Tamaño Max En Mb (Int) | |
| Público | setExtensionValidaTipoAudio($tamanoMaxEnMB = 20); | Setea las extensiones validas como audio | Tamaño Max En Mb (Int) | |
| Público | setExtensionValidaTipoVideo($tamanoMaxEnMB = 100); | Setea las extensiones validas como video | Tamaño Max En Mb (Int) | |
| Público | setExtensionValidaTipoPDF($tamanoMaxEnMB = 50); | Setea las extensiones validas como pdf | Tamaño Max En Mb (Int) | |
| Público | setExtensionValidaTipoTXT($tamanoMaxEnMB = 2); | Setea las extensiones validas como txt | Tamaño Max En Mb (Int) | |
| Público | setExtensionValidaTipoComprimido($tamanoMaxEnMB = 100); | Setea las extensiones validas como comprimido | Tamaño Max En Mb (Int) | |
| Público | setExtensionValidaTipoDocumentoOficina($tamanoMaxEnMB = 15); | Setea las extensiones validas como documento oficina | Tamaño Max En Mb (Int) | |
| Público | setExtensionValidaTipoDocumentoWeb($tamanoMaxEnMB = 2); | Setea las extensiones validas como documento web | Tamaño Max En Mb (Int) | |
| Público | procesar(); | Procesa la subida del archivo, validando los requerimientos | Respuesta |
Constantes
| Constante | Descripción | Valor |
|---|---|---|
| CARPETA_UPLOAD | Carpeta donde se almacenan los archivos subidos | /var/home/www/html/uploads/ |
| TAMANO_MAXIMO_EN_BYTES | Tamaño máximo en bytes de los archivo a subir | 1000000 |
| EXTENSIONES_VALIDAS | Array de Mime Types validos | ['image/jpg', 'image/jpeg', 'image/png', 'image/gif'] |
Validar Versión 1.3.0 10/05/2017 Test
Descripción: Validador de Datos y Reglas.
Usar
use PHP\Validar\Validar;
Propiedades
private $errores; // Lista con los errores de validación (Array)
private $reglas; // Lista con las reglas de validación (Array)
Métodos
public function email($dato, $campo = null); // Valida que el dato sea email
public function url($dato, $campo = null); // Valida que el dato sea url
public function ip($dato, $campo = null); // Valida que el dato sea ip
public function booleano($dato, $campo = null); // Valida que el dato sea booleano
public function numero($dato, $campo = null); // Valida que el dato sea número
public function flotante($dato, $campo = null); // Valida que el dato sea flotante
public function flotanteDesde($dato, $desde, $campo = null); // Valida que el dato sea flotante desde
public function flotanteHasta($dato, $hasta, $campo = null); // Valida que el dato sea flotante hasta
public function flotanteRango($dato, $desde, $hasta, $campo = null); // Valida que el dato sea flotante rango
public function entero($dato, $campo = null); // Valida que el dato sea entero
public function enteroDesde($dato, $desde, $campo = null); // Valida que el dato sea entero desde
public function enteroHasta($dato, $hasta, $campo = null); // Valida que el dato sea entero hasta
public function enteroRango($dato, $desde, $hasta, $campo = null); // Valida que el dato sea entero rango
public function texto($dato, $campo = null); // Valida que el dato sea texto
public function textoDesde($dato, $desde, $campo = null); // Valida que el dato sea texto desde
public function textoHasta($dato, $hasta, $campo = null); // Valida que el dato sea texto hasta
public function textoRango($dato, $desde, $hasta, $campo = null); // Valida que el dato sea texto rango
public function arreglo($dato, $campo = null); // Valida que el dato sea arreglo
public function objeto($dato, $campo = null); // Valida que el dato sea objeto
public function requerido($dato, $campo = null); // Valida que el dato sea requerido
public function letras($dato, $campo = null); // Valida que el dato sea letras
public function opciones($dato, $arrayOpciones, $campo = null); // Valida que el dato sea opciones
public function fecha($dato, $campo = null, $formato = "Y-m-d H:i:s"); // Valida que el dato sea fecha
public function identico($dato1, $dato2) ; // Valida que el dato sea identico
public function json($dato); // Valida que el dato sea json
public function colorHex($dato, $campo = null); // Valida que el dato sea color hexadecimal
public function funcion($dato, $campo = null); // Valida que el dato sea funcion
public function nulo($dato, $campo = null); // Valida que el dato sea nulo
public function opcional($dato, $campo = null); // Valida que el dato sea opcional
public function limpiarString($dato); // Sanitiza un string antes de ejecutar una consulta
public function getErrores(); // Devuelve todos los errores
public function getError($campo = null); // Devuelve el error de un campo especifico
public function setRegla($dato, $arrayValidaciones, $campo = null); // Setea una nueva regla de validación
public function getReglas(); // Devuelve las reglas de validación
public function validarReglas(); // Valida las reglas de validación
Ejemplos
/* Validaciones Simples */
if (Validar::entero(10)) {
echo "Entero";
} else {
echo "No Entero";
}
if (Validar::email("leandroburgoa@gmail.com")) {
echo "Email Valido";
} else {
echo "Email Invalido";
}
/* Validaciones Con Mensajes de Error */
Validar::url("megamedia", "Dirección Web");
print_r(Validar::getError("Dirección Web")); // Dirección Web debe contener una URL.
/* Validaciones con Reglas */
Validar::setRegla(31, ["requerido", "entero", "enteroRango:1,125"], "Edad"); // Valida según el orden del array. Si la validación tiene parametros escribir "funcion:x1,x2"
Validar::setRegla("Leandro", ["requerido", "texto"], "Nombre");
if (Validar::validarReglas()) {
echo "Exito!";
} else {
print_r(Validar::getErrores()); // ["nombre" => "Debe contener un número entero entre 1 y 125"]
}
Detalle Métodos
| Visibilidad | Método | Descripción | Parametros | Retorno |
|---|---|---|---|---|
| Público | email($dato, $campo = null); | Valida que el dato sea email | ||
| Público | url($dato, $campo = null); | Valida que el dato sea url | ||
| Público | ip($dato, $campo = null); | Valida que el dato sea ip | ||
| Público | booleano($dato, $campo = null); | Valida que el dato sea booleano | ||
| Público | numero($dato, $campo = null); | Valida que el dato sea número | ||
| Público | flotante($dato, $campo = null); | Valida que el dato sea flotante | ||
| Público | flotanteDesde($dato, $desde, $campo = null); | Valida que el dato sea flotante desde | ||
| Público | flotanteHasta($dato, $hasta, $campo = null); | Valida que el dato sea flotante hasta | ||
| Público | flotanteRango($dato, $desde, $hasta, $campo = null); | Valida que el dato sea flotante rango | ||
| Público | entero($dato, $campo = null); | Valida que el dato sea entero | ||
| Público | enteroDesde($dato, $desde, $campo = null); | Valida que el dato sea entero desde | ||
| Público | enteroHasta($dato, $hasta, $campo = null); | Valida que el dato sea entero hasta | ||
| Público | enteroRango($dato, $desde, $hasta, $campo = null); | Valida que el dato sea entero rango | ||
| Público | texto($dato, $campo = null); | Valida que el dato sea texto | ||
| Público | textoDesde($dato, $desde, $campo = null); | Valida que el dato sea texto desde | ||
| Público | textoHasta($dato, $hasta, $campo = null); | Valida que el dato sea texto hasta | ||
| Público | textoRango($dato, $desde, $hasta, $campo = null); | Valida que el dato sea texto rango | ||
| Público | arreglo($dato, $campo = null); | Valida que el dato sea arreglo | ||
| Público | objeto($dato, $campo = null); | Valida que el dato sea objeto | ||
| Público | requerido($dato, $campo = null); | Valida que el dato sea requerido | ||
| Público | letras($dato, $campo = null); | Valida que el dato sea letras | ||
| Público | opciones($dato, $arrayOpciones, $campo = null); | Valida que el dato sea opciones | ||
| Público | fecha($dato, $campo = null, $formato = "Y-m-d H:i:s"); | Valida que el dato sea fecha | ||
| Público | identico($dato1, $dato2) ; | Valida que el dato sea identico | ||
| Público | json($dato); | Valida que el dato sea json | ||
| Público | colorHex($dato, $campo = null); | Valida que el dato sea color hexadecimal | ||
| Público | funcion($dato, $campo = null); | Valida que el dato sea funcion | ||
| Público | nulo($dato, $campo = null); | Valida que el dato sea nulo | ||
| Público | opcional($dato, $campo = null); | Valida que el dato sea opcional | ||
| Público | limpiarString($dato); | Sanitiza un string antes de ejecutar una consulta | ||
| Público | getErrores(); | Devuelve todos los errores | ||
| Público | getError($campo = null); | Devuelve el error de un campo especifico | ||
| Público | setRegla($dato, $arrayValidaciones, $campo = null); | Setea una nueva regla de validación | ||
| Público | getReglas(); | Devuelve las reglas de validación | ||
| Público | validarReglas(); | Valida las reglas de validación |
Instalación
Descripción: Utilizaremos GITLab como gestor de versionado y Composer como gestor de dependencias.
Descargar Proyecto (Git)
- Logearse en Gitlab.com
- Acceder Proyecto
- Clonar Proyecto (git clone https://gitlab.com/proyectos-burgoa/educacion.git)
- Crear Rama (git checkout -b desarrollo)
- Añadir Archivo (git add archivo.txt || git add .)
- Ver Estado (git status)
- Crear Commit (git commit -m "Se sube un archivo txt")
- Subir Cambios (git push --set-upstream origin desarrollo || git push)
- Bajar Cambios (git pull)
- Crear Merge Request (desde panel web)
Instalar Dependencias (Composer)
- Acceder al Servidor: Putty o VirtualBox
- Entrar Carpeta Public HTML: cd /var/www/html
- Instalar Dependencias: sudo composer install
Estructura
Descripción: La siguiente estructura es la definida para todos los sistemas.
Estructura
- css
- docs
- exports
- idiomas
- img
- js
- logs
- php
- sql
- uploads
- vendor
- .gitignore
- .htaccess
- composer.json
- composer.lock
- configuraciones.php
- constantes.php
- index.php
- README.md
- rutas.php
Servidor
Descripción: Es un servidor web virtual que incluye la instalación de los servicios y aplicaciones necesarias para correr una aplicación web completa.
Sistema Operativo
Ubuntu Server 18.04.1 x64
Servicios Instalados
- Apache 2.4.29
- PHP 7.2.10
- MySQL 5.7.23
- MongoDB 4.0
- Node.js 8.12.0
- NPM 6.4.1
- Composer 1.7.2
Credencial
erictel @ erictel
Instalación
A. Introducción:
- 1. Instalar Virtual Box
- 2. Descargar Servidor.ova
- 3. Importar Servidor.ova en Virtual Box
B. Configuración:
1. Carpeta Compartida:
- Ir a: Virtual Box > Servidor > Configuración > Carpetas compartidas > Editar
- Ruta carpeta: C:\www (elegir cualquier carpeta del disco local, idealmente cifrado)
- Nombre carpeta: www (escribir así exactamente)
- Sólo lectura y Automontar: desactivado
2. Configurar IP Estatica:
- ifconfig / ipconfig (copiar ip address y gateway)
- sudo nano /etc/netplan/01-cnf.yaml (modificar addresses y gateway4 con los datos anteriores, el prefijo "/24" es según la mascara)
- sudo netplan apply
- reboot
3. Crear Alias:
- En Windows:
- C:\system32\drivers\etc\host (editar con privilegios de acceso)
- En Linux:
- sudo nano /etc/hosts
- Escribir:
- 192.168.0.5 servidor.net
C. Acceder Servidor:
- http://www.servidor.net/