Herramientas Informaticas

Categoría: curso php Página 2 de 4

Instalación y Uso de Boilerplate Settings en CodeIgniter 4

Entrada fija

CodeIgniter 4 Boilerplate Settings

Esta biblioteca es una extensión para configuraciones globales de plantilla Boilerplate. Puede guardar el nombre de la compañía, el número de teléfono, el correo electrónico y cambiar el idioma en toda la aplicación CodeIgniter 4.

Instalación

Ejecutar comando

composer require julio101290/boilerplatesettings

Ejecutar el comando para la migración y sembrado

php spark boilerplatesettings:installsettings

Creamos el menu

image

Listo al final queda asi

image

Usage

You can find how it works with the read code routes, controller and views etc. Finnally… Happy Coding!

Changelog

Please see CHANGELOG for more information what has changed recently.

Contributing

Contributions are very welcome.

License

This package is free software distributed under the terms of the MIT license.

Modificar el tiempo de espera de ejecución de Codeigniter 4.5.3

En ciertas ocasiones es necesario correr algunos procesos en nuestro sistema web que demoran un poco mas de tiempo y por la configuración inicial del framework este proceso no finaliza.

Para ello es necesario poder modificar los parámetros de tiempo de ejecución para darle un poco mas de tiempo al programa y finalice correctamente los procesos.

En las primeras versiones de Codeigniter 4 podíamos cambiar el tiempo de ejecución en app/Config/App.php modificando las siguientes variables

    /**
     * --------------------------------------------------------------------------
     * Session Expiration
     * --------------------------------------------------------------------------
     *
     * The number of SECONDS you want the session to last.
     * Setting to 0 (zero) means expire when the browser is closed.
     *
     * @deprecated use Config\Session::$expiration instead.
     */
    public int $sessionExpiration = 72000;

   /**
     * --------------------------------------------------------------------------
     * Session Time to Update
     * --------------------------------------------------------------------------
     *
     * How many seconds between CI regenerating the session ID.
     *
     * @deprecated use Config\Session::$timeToUpdate instead.
     */
    public int $sessionTimeToUpdate = 300000;

    /**
     * --------------------------------------------------------------------------
     * CSRF Expire
     * --------------------------------------------------------------------------
     *
     * The number in seconds the token should expire.
     *
     * @deprecated Use `Config\Security` $expire property instead of using this property.
     */
    public int $CSRFExpire = 720000;

Pero ahora en las versiones nuevas tenemos que modificar en el archivo app/Config/Session.php ya las variables son las siguientes:

    /**
     * --------------------------------------------------------------------------
     * Session Expiration
     * --------------------------------------------------------------------------
     *
     * The number of SECONDS you want the session to last.
     * Setting to 0 (zero) means expire when the browser is closed.
     */
    public int $expiration = 720000;

    /**
     * --------------------------------------------------------------------------
     * Session Time to Update
     * --------------------------------------------------------------------------
     *
     * How many seconds between CI regenerating the session ID.
     */
    public int $timeToUpdate = 300000;

Ya con eso podemos alargar el tiempo de ejecucion del sistema, pero vamos a sacrificar que el sistema deje de estar disponible para otra tarea mientras se este ejecutando tal proceso

Actualización de CodeIgniter 4.4.4 a 4.5.1 Correcciones en Fuentes

Son varias las novedades y cambios que se vinieron en los cambios del Framework de PHP CodeIgniter 4 en su versión 4.5.1.

Las novedades ya lo pueden ver directamente en su web https://codeigniter4.github.io/userguide/installation/upgrade_450.html

Entre los cambios mas básicos que se tienen que hacer es copiar el archivo spark e index.php desde la carpeta de vendor al proyecto principal mas o menos asi

cp vendor/codeigniter4/framework/public/index.php public/index.php
cp vendor/codeigniter4/framework/spark spark

Esa parte es la mas básica pero en nuestro caso vimos que fallo en una biblioteca de manejo de usuarios Myth/Auth el cual no guardaba usuarios y nos arrojaba el siguiente error:

Could not check compatibility between Myth\Auth\Authentication\Passwords\CompositionValidator::check(string $password, ?CodeIgniter\Entity\Entity $user = null): bool and Myth\Auth\Authentication\Passwords\ValidatorInterface::check(string $password, ?CodeIgniter\Entity $user = null): bool, because class CodeIgniter\Entity is not available in D:\proyectoCodeIgniter\vendor\julio101290\auth\src\Authentication\Passwords\CompositionValidator.php

Error que se corrige solo con cambiar la linea de use CodeIgniter\Entity; a use CodeIgniter\Entity\Entity; en el archivo proyectoCodeIgniter\vendor\julio101290\auth\src\Authentication\Passwords\ValidatorInterface.php

Igual ya se actualizo el repositorio https://github.com/julio101290/myth-auth/releases/tag/v1.2.8

Si utilizan este fork de la librería solo hagan un composer update

Otro detalle al parecer la ruta el resources ya no tomo en automático el update, o quizás se definieron por seguridad otro tipo de reglas por lo cual se corrigió la biblioteca de boilerplate

En el archivo de vendor\julio101290\boilerplate\src\Config\Routes.php se agregaron el siguiente código para que pueda actualizar, igual si existe otra manejara dejarlo en la caja de comentarios

        /**
     * Users Update
     */
    $routes->post('user/manage/(:any)/update', 'UserController::update/$1', [
        'filter' => 'permission:back-office',
        'namespace' => 'julio101290\boilerplate\Controllers\Users',
        'except' => 'show',
        'as' => 'update',
    ]);

    $routes->post('role/(:any)/update', 'RoleController::update/$1', [
        'filter' => 'permission:role-permission',
        'namespace' => 'julio101290\boilerplate\Controllers\Users',
        'except' => 'show',
        'as' => 'updateRole',
    ]);
    

De igual manera se actualizo la biblioteca en https://github.com/julio101290/boilerplate/releases/tag/v1.3.8

Otro de las correcciones que se tienen que hacer es que si se hacen peticiones Ajax el método tiene que ir en minúscula por ejemplo:

Así estaba uno antes

  ajax: {
            url: '<?= base_url('admin/sells') ?>',
            method: 'GET',
            dataType: "json"
        },..........................

Ahora tendría que quedar así, muy simple, entenderle a primera no fue fácil

  ajax: {
            url: '<?= base_url('admin/sells') ?>',
            method: 'get',
            dataType: "json"
        },

Otros de los errores fue en el nivel de modelo, nos arrojo el siguiente error

CodeIgniter\\Database\\BaseBuilder::getOperatorFromWhereKey(): Argument #1 ($whereKey) must be of type string, int given

El detalle era en el where que antes funcionaba de la siguiente manera

->where('\'0\'', $empresa,true)

Ahora funciona de la siguiente manera

->where('\'0\'', $empresa,true)

Como Instalar PDO SQL SERVER en PHP 8.2 en Windows 10

Una de la extensiones requeridas en nuestro caso y como puede ser en el caso de ustedes es poder conectar SQL server Con PHP 8.2 asi que les mostraremos como instalarlo correctamente, suponiendo que tenemos instalado PHP 8.2 en Windows 10

Primero descargamos los controladores de SQL SERVER en la pagina oficial de Microsoft https://learn.microsoft.com/en-us/sql/connect/php/download-drivers-php-sql-server?view=sql-server-ver16
Enlace directo del archivo https://go.microsoft.com/fwlink/?linkid=2246325

Como instalar PHP 8.2 en Windows 10 2024

Recién se ha formateado de nuevo el equipo con Windows 10 así que lo que toca hacer es reinstalar PHP

Se instalar la versión 8.2 por que aunque ya existe la versión 8.3 hay mas librerías actualmente para la 8.2 como por ejemplo el PDO para SQL Server

Primero descargarnos el archivo desde la pagina oficial https://windows.php.net/download#php-8.2-nts-vs16-x64

Modulo para complemento de pago en CodeIgniter 4 PHP 8 #18

El complemento de pago es un archivo electrónico que se agrega a una factura electrónica para proporcionar información adicional sobre los pagos recibidos. Este complemento es obligatorio en México para todas las facturas que se emiten con un método de pago distinto al de contado.

El complemento de pago incluye los siguientes datos:

  • Forma de pago: La forma en que se recibió el pago, por ejemplo, efectivo, cheque, transferencia bancaria, etc.
  • Monto del pago: El monto del pago recibido.
  • Fecha del pago: La fecha en que se recibió el pago.
  • Documento origen: El número de la factura o documento que se pagó.
  • Método de pago: El método que se utilizó para realizar el pago, por ejemplo, banca electrónica, banca móvil, etc.

El complemento de pago se debe emitir a más tardar al décimo día natural del mes siguiente al que se recibió el pago. Se puede emitir a través de un software de facturación electrónica o de manera manual.

Creando el CRUD de Tipos de Vehículos #14

Posteriormente vamos a necesitar el catalogo de tipo de vehículos y vehículos en esta publicación dejaremos la forma para crear el CRUD de tipos de vehículos con los siguientes datos.

  • Empresa
  • Codigo
  • Descripción

Cómo crear un módulo de kardex de inventario en CodeIgniter 4 #12

El kardex de inventario es un documento o sistema de registro que permite llevar un control de las entradas y salidas de mercancías o productos en un almacén. En él se registran los datos básicos de cada producto, como el código, la descripción, la unidad de medida, el precio unitario y el stock.

El kardex de inventario es una herramienta fundamental para la gestión del inventario. Permite conocer la cantidad de cada producto en existencia, así como su valor total. También ayuda a identificar las tendencias de consumo y a detectar posibles problemas de desabastecimiento.

El kardex de inventario se puede llevar de forma manual o automatizada. En el caso de la gestión manual, el registro se realiza en una hoja de cálculo o en un libro. En el caso de la gestión automatizada, el registro se realiza en un sistema informático.

Los datos que se registran en el kardex de inventario son los siguientes:

  • Código: Identificador único del producto.
  • Descripción: Nombre o descripción del producto.
  • Unidad de medida: Unidad en la que se mide el producto (unidades, kilos, metros, etc.).
  • Precio unitario: Precio de venta o de compra del producto.
  • Stock inicial: Cantidad de producto en existencia al inicio del periodo.
  • Entradas: Cantidad de producto que ha entrado en el almacén durante el periodo.
  • Salidas: Cantidad de producto que ha salido del almacén durante el periodo.
  • Stock final: Cantidad de producto en existencia al final del periodo.

El kardex de inventario se actualiza con cada movimiento de inventario. Cuando se recibe un producto, se registra la entrada con la cantidad recibida y el precio unitario. Cuando se vende un producto, se registra la salida con la cantidad vendida y el precio unitario.

El kardex de inventario es una herramienta esencial para la gestión del inventario. Permite conocer la cantidad de cada producto en existencia, así como su valor total. También ayuda a identificar las tendencias de consumo y a detectar posibles problemas de desabastecimiento.

Creando CRUD de Tipos de movimiento #13

Para registrar los movimientos requerimos especificar que tipo de movimiento es como puede ser entradas por compra, salidas por venta, entrada por devolución de cliente, saluda por devolución a proveedor

Para ello crearemos el siguiente catalogo de Tipos de movimiento con los siguientes campos

  • Empresa
  • Descripción
  • tipo
  • Es traspaso

Primero creamos el archivo de migración App/Database/2023-08-17222335_Tipos_movimientos_inventario.php con el siguiente código

Creando CRUD de Almacenes #12

Es necesario para llevar el control correcto del inventario tener almacenes,

A continuación mostramos como crear el CRUD de almacenes

El CRUD tendrá los siguientes datos

  • Empresa
  • Clave
  • Nombre
  • Inicio de inventario

Página 2 de 4

Creado con WordPress & Tema de Anders Norén