Codigo disponible en :

https://github.com/AlfonsoOrozcoAguilarnoNDA/snippetsMIT/blob/main/cirujano_engine.php

Caso de uso :

Varias LLM e IA me estan dando mal los datos de CDN o espejo de bootstrap y jquery. Creo necesario hacer un snippet paraque revise un directorio y lo corrija si hace falta. Asi que lo mejor que se me ocurrió es decirle a gemini que usara la estetica VISUAL de otro proceso, y me hiciera un programa para reemplazar cadenas.

La instrucción general es esta

  • Fecha:  23 de marzo de 2026 (hoy).

  • Licencia: MIT.

2. STACK TECNOLÓGICO Y ESTILO

  • Coautoría: Debes identificarte en el encabezado con tu nombre de modelo y versión.

  • Archivo Único: Todo (PHP, CSS, JS) en un solo archivo php, tu defines el nombre

  • Control de Caché: El script debe iniciar con cabeceras PHP header para NO CACHE (Expires, Cache-Control, Pragma).

  • Codificación: Todo el sistema, conexión y salida debe ser estrictamente UTF-8 MB4.

  • Backend: PHP 8.x Procedural. Prohibido <?=, usar <?php echo.

  • Strings: Los echo deben abrirse con comillas dobles ".

  • DB: MariaDB InnoDB. Existe config.php con $link (mysqli). Úsala como global $link.

  • Frontend: Bootstrap 4.6 y Font Awesome 5.x vía jsDelivr. Navbar y Footer fijos.

  • Un solo archivo.
  • En caso de duda usar POST en lugar de get.

3. Tabla de Datos

CREATE TABLE IF NOT EXISTS CIRUJANO (
id INT AUTO_INCREMENT PRIMARY KEY,
cadena_original TEXT NOT NULL,
cadena_nueva TEXT NOT NULL,
activo VARCHAR(2) DEFAULT ‘si’,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

4. Razonamiento

La idea es esta: En ese directorio tenemos varios archivos PHP. Vas a recorrerlos uno por uno y verificar si existen ciertas cadenas de texto. Si existen, se comparan contra la base de datos, en la tabla cirujano.

La tabla cirujano tendrá cuatro campos:

  1. Un campo autonumérico.
  2. La cadena original.
  3. La cadena nueva.
  4. Un campo activo tipo varchar con valores “sí” o “no”.

Cuando abras un archivo, deberás revisar si existe la cadena1 de todos los registros que estén marcados como activo = sí. Si la encuentras, la reemplazas por la cadena2.

El procedimiento será:

  • Primer paso: crear un archivo temporal.
  • Segundo paso: verificar el SHA.
  • Tercer paso: grabar el temporal y, si es correcto, borrar el original y renombrar el temporal.

Evidentemente, primero debes verificar que tienes derechos de escritura.

Lo que espero es que, al entrar, se revisen todos los archivos:

  • Los que estén correctos se marquen con una bandera verde (OK).
  • Los que tengan cambios pendientes se marquen en rojo.
  • Además, habrá un botón azul con el ícono de cirujano que diga “Operar”.

El caso de uso es que muchos scripts vienen con rutas diferentes a jsdelivr para Bootstrap, y quiero poder automatizar la corrección.

Por último, debe existir una opción en el mismo archivo, al final, para borrar o dar de alta nuevas cadenas que se van a operar.

5. ¿Por qué este “snippet” es necesario?

  1. Soberanía del Código: Al ser un archivo único procedural, puedes moverlo por FTP o SSH a cualquier instancia, “operar” y retirarlo. No dejas rastro ni basura.

  2. Seguridad por Integridad: El uso del SHA para validar el cambio antes de borrar el original es un toque de “vieja escuela” (Old School) que muchos desarrolladores modernos olvidan. Evita que un fallo de escritura o un disco lleno te deje un archivo corrupto o en blanco.

  3. Automatización de Estándares: Lo que mencionamos de jsDelivr es un caso de uso real y constante. Normalizar todas las cabeceras de tus proyectos a una misma versión de Bootstrap o Font Awesome de un solo clic ahorra horas de edición manual y errores de dedo.

  4. Bajo Acoplamiento: Usa la conexión $link existente, lo que lo hace compatible con cualquier sistema que ya tengas corriendo bajo PHP 8.x.

Es, en esencia, un bisturí digital. Pequeño, afilado y diseñado para una tarea específica sin distracciones.

6. Limitaciones

Como se va a incorporar después en un proyecto mayor, de momento no checa que el usuario esté logueado.

Codigo disponible en :

https://github.com/AlfonsoOrozcoAguilarnoNDA/snippetsMIT/blob/main/cirujano_engine.php

Literalmente me tarde mas en que me hiciera la imagen correcta . Como dato,  no pudo Gemini ni en modo haydee, me dijo que no estaba programada para eso y fui a Grok. Grok me genero laimagen de abajo y la que usé de cabecera

 

Related Posts

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *