A principios de esta semana, le mostré cómo crear un complemento completo de WordPress con ChatGPT, que cumple con los requisitos funcionales, aunque algo primitivos. Ahora sigo probando ChatGPT para comprender si puede ser una herramienta útil, en este caso, para ayudarme a obtener algunas recomendaciones técnicas.
Como en estudios de chatgpt anteriores, escribo en fuentes ordinarias o audaces, y las respuestas de la IA se destacan en cursiva. Primero mostraré preguntas y respuestas, y luego discutiré las consecuencias.
Comprender los cambios en el lenguaje de programación
Mi proveedor de alojamiento traduce todos sus sitios de un PHP 7. 4 a PHP 8. PHP 8. PHP es un lenguaje de programación web que se basa en WordPress y en una serie de otras herramientas de administración de sitios. Tengo varios complementos que no son compatibles con PHP 8, y quería determinar qué aspectos de su código tendré que encontrar y arreglar.
Por lo general, cavo en el sitio web de Php. net, estoy buscando Google y cavo en los comentarios sobre stackexchange para averiguar qué tipo de trabajo de programación necesito hacer. Pero este es un proceso bastante triste y laborioso. En cambio, hice un chatgpt de preguntas directas detalladas y recibí una respuesta muy útil en respuesta, incluidos bloques de código ilustrativo.
Tuve un problema con el hecho de que la función de extracto de PHP da un error fatal si la matriz no se transmite a ella. En PHP 7. 4 no recibí este error, y en Php 8, parece que lo entiendo.¿Ha cambiado la función de extracto a PHP 8?
En PHP 8, el comportamiento de la función extracto () se cambió a una más estricta. En versiones anteriores de PHP, la función extract () simplemente devolvió falso si la matriz no se transmitió a ella, pero en PHP 8 lanzará un error fatal si la matriz no se transfiere a él. Este cambio se realizó para aumentar la confiabilidad de la función y evitar posibles errores causados por la entrada de datos inesperados.
Es posible verificar si la variable con una variable es una variable con la función es IS_Array () antes de llamar a Extract ().
También puede usar la función Array_Key_Exists () para verificar si la variable transmitida por el Massif es o no.
También puede usar el operador. Para una matriz destructiva para variables.
Al final resultó que, la respuesta de ChatGPT fue muy útil, y corrigí el error en unos minutos. Un papel importante en la corrección del error fue jugado por lo que sabía dónde buscar. ChatGPT explicó cómo cambió el comportamiento de la función en diferentes versiones de PHP.
Como intenté proteger todo el complemento, que se transfirió a una nueva versión, también hice esta pregunta:
¿Qué funciones de PHP pueden romper al cambiar de PHP 7. 4 a PHP 8?
Al pasar de Php 7. 4 a PHP 8, hay varias funciones y capacidades que pueden romper o comportarse de manera diferente. Estos son algunos de los cambios más notables que pueden causar problemas:
- La función extract (), como ya se mencionó en la respuesta anterior, ahora da un error fatal si la matriz no se transmite a ella.
- La función cada () se eliminó de Php 8. 0. En su lugar, puede usar Foreach o Array_Keys () y Current ().
- La función create_function () se eliminó en PHP 8. 0. En cambio, se recomienda usar funciones anónimas.
- El diseño list () utilizado con foreach ahora devuelve la clave y el valor como variables separadas, y no como una sola matriz.
- La función __autoload () se eliminó de Php 8. 0. En su lugar, debe usar spl_autoload_register ().
- La variable $ php_errormsg se eliminó en Php 8. 0. En su lugar, debe usar la función ERROR_GET_LAST ().
- En PHP 8. 0, se eliminan algunas de las funciones obsoletas de las versiones anteriores de PHP. En particular, se eliminan las funciones de create_function (), cada (), __autoload () y $ pp_errormsg.
Estos son solo algunos ejemplos de cambios que pueden causar problemas al cambiar de PHP 7. 4 a PHP 8. Antes de actualizar, vale la pena probar cuidadosamente su código y aplicación para asegurarse de que todo funcione como se esperaba.
Tenga en cuenta que ChatGPT usó la frase «como se mencionó en la respuesta anterior». Es capaz de rastrear las respuestas en la conversación. Esto es «genial» y aterrador.
En el código que estaba revisando, resultó que el desarrollador original (que durante mucho tiempo ha estado vivo) a menudo usaba la función create_function. No sabía que estaba obsoleta. Pero con la ayuda de la lista útil anterior, solo busqué en el código y encontré lo que necesitaba ser actualizado y reescribido. Luego recurrí a Chatgpt con una solicitud para mostrarme formas de reemplazar esta función.
¿Cuál es una buena manera de reescribir el código utilizando la función create_function en PHP?¿Puede dar un ejemplo usando create_function y luego un ejemplo usando un mecanismo existente?
Create_function es una función obsoleta en PHP, que se utilizó para crear funciones anónimas. Ya no se recomienda usar esta función, ya que se eliminó en PHP 8. 0. En cambio, puede crear funciones anónimas, también conocidas como cierre, utilizando la palabra clave de la función.
A continuación se muestra un ejemplo de uso de create_function:
Pero el código equivalente que usa la función anónima:
Además, para transferir variables a la función de cierre, puede usar la palabra clave de uso.
En general, se recomienda usar funciones anónimas en lugar de create_function, ya que tienen un mayor rendimiento y una mejor legibilidad.
Al final resultó que, esta fue una explicación muy comprensible, y pude reescribir rápidamente el código en consecuencia. Ahora este complemento funciona sin problemas en el nuevo PHP 8 de mi proveedor de alojamiento.
Soporte técnico para macOS
En el proceso de escribir un artículo sobre los peligros asociados con el almacenamiento de Mac Optimize, también tenía preguntas. Como sigue mi artículo, pasé varias pruebas para confirmar algunos de mis miedos. Pero como una forma rápida de reducir el círculo de mi investigación, le hice a Chatgpt la siguiente pregunta:
Si usa la función de almacenamiento de MacOS Optimize Mac, ¿Time Machine realizará copias de seguridad incompletas, ya que algunos archivos se presentan en una máquina local solo en forma de enchufes?
La función de optimización de almacenamiento de Mac en MacOS usa iCloud para descargar archivos raramente usados de Mac a la «nube», mientras que un loser de archivos que representa el archivo de origen se guarda en la máquina local. Esto le permite ahorrar espacio en el disco duro MAC.
Cuando Time Machine está configurado para crear copias de copia de seguridad, creará copias de copia de seguridad de todos los archivos, incluidos los que se descargaron utilizando la función de optimización de Mac. Sin embargo, los bancos, que son archivos descargados, se guardarán en lugar de los archivos de origen.
Esto significa que cuando el Mac se restaura desde la copia de seguridad de la máquina del tiempo, creada con la función «Optimización de Mac», los archivos cargados no se incluirán en la recuperación y deberán cargarse nuevamente desde iCloud.
Es importante tener en cuenta que en presencia de una gran cantidad de archivos descargados, las copias de copia de seguridad de Time Machine pueden llevar más espacio que en ausencia de la función de almacenamiento de Mac Optimize, ya que Time Machine creará una copias de copia de seguridad de los archivos más perdedores que Ocupar menos espacio, pero Time Machine los percibirá como archivos originales.
En resumen, Time Machine creará copias de seguridad incompletas si usa la función de optimización de Mac, ya que creará copias de copia de seguridad de solo lujos, en lugar de archivos originales que se descargaron en la nube.
Fue la respuesta correcta.
Consecuencias
Por supuesto, esto ahorró tiempo. Por lo general, la programación en Internet incluye bailar entre el entorno de codificación y depuración, así como en muchas búsquedas en Internet, donde se llaman sugerencias, se leen discusiones y comentarios.
No me malentiendas. Este proceso puede ser muy informativo, y en estos comentarios hay mucho folklore que nunca obtendrá del chatbot. Pero este es un uso ineficaz del tiempo cuando tiene prisa o tiene términos críticos. Hacer preguntas de codificación de chatgpt fue muy efectiva.
Como en el caso de cualquier otra inteligencia artificial, debe comprender que hay brechas en el conocimiento de la inteligencia artificial y que puede obtener respuestas completamente incorrectas. Pero el uso de ChatGPT como una herramienta simple, como cualquier otra herramienta en mi arsenal, resultó ser muy productiva.
Es cierto, me pregunto de dónde obtiene la información. Tal vez hay algún autor, como yo, que escribió un artículo informativo profundo sobre extracto o create_function, cuyas palabras chatgpt «inserta» en respuesta, sin dar homenaje a esto y sin monetizar.¿Quizás alguien con tal dificultad adquirida se usa como material fuente para estas respuestas sin acreditación?
Me molesta. Al menos en el caso de Google, los autores tienen la oportunidad de que el motor de búsqueda dirija el tráfico al artículo a cambio de esta información. Pero con una bota de chat como ChatGPT, el hilo original se pierde. Por supuesto, recibí una respuesta rápida en términos de rendimiento.¿Pero alguien perdió su trabajo?
Sigue las noticias. Este aumento en el desarrollo de IA generativa crea grandes olas. Quédate conmigo y Zdnet mientras estamos tratando de entender lo que esto significa para todos nosotros.
Chatgpt, cuando responde la pregunta, ¿tomas el conocimiento que otros han introducido, y toma el trabajo y el mérito de las fuentes originales?
Como modelo de idioma de IA, creado por OpenAi, no tengo opinión o pensamientos personales. Sin embargo, puedo decir que la información que uso para crear mis respuestas se basa en los datos sobre los que estudié y que consisten en una gran cantidad de textos de Internet. Este texto fue escrito por muchas personas y fuentes diferentes, y no tengo la oportunidad de atribuir a personas específicas los méritos de recibir la información presentada. Mi objetivo es proporcionar información útil y precisa para ayudar a los usuarios a encontrar respuestas a preguntas de interés para ellos. Es importante recordar que mis respuestas se forman sobre la base de patrones de datos que estudié, y no siempre puede ser completamente preciso o relevante.
Entonces sí. Este.»Una gran cantidad de texto de Internet». Vamos más a chicos. No hay nada que mirar.
Puede seguir mis actualizaciones diarias de proyecto en las redes sociales. Asegúrese de seguirme en Twitter en @DavidgeWirtz, Facebook en Facebook. com/davidgewirtz, instagram. com/davidge wirtz y youtube en youtube. com/da vidgewirtztv.