https://d226lax1qjow5r.cloudfront.net/blog/blogposts/vonage-at-phpuk-2022/event-report.png

Vonage en PHPUK 2022

Publicado el March 1, 2022

Tiempo de lectura: 7 minutos

Probablemente no sorprenda demasiado que el equipo estuviera muy ilusionado con la PHPUK 2022, dadas las circunstancias de los últimos dos años y medio. Todos hemos tenido algunos contratiempos (o falsos amaneceres, quizá; por ejemplo, teníamos previsto asistir a LaraconEUque, comprensiblemente, se canceló debido a que Ámsterdam era el epicentro de la nueva ola COVID en ese momento) con la reapertura al mundo de los eventos tecnológicos y, como puedes imaginar, desde el punto de vista de las relaciones con los desarrolladores nos ha resultado extremadamente difícil. Al fin y al cabo, las reuniones y conferencias son una parte fundamental para conectar con la gente. Tenemos un equipo que se dirige al evento, armado con un stand de conferencia completo; las cosas se sienten como si estuvieran empezando a volver "a la normalidad".

La variante Omicron llegó justo cuando estábamos listos para volver a salir. En PHPUK, hablé con Gary Hockin sobre su discurso en PHPScotland a finales del año pasado, que realmente fue el único evento importante de PHP aparte de LonghornPHP que consiguió celebrarse. Numbers were down, and essential precautions made aspects of the conference harder. Así que, estando PHPUK más o menos al final de la ola Omicron COVID, no sabíamos qué esperar.

Vonage's booth at PHPUK 2022Our booth at PHPUK 2022

En cuanto a las precauciones, en nuestro stand optamos por las máscaras de equipo: tú llevas máscara, nosotros llevamos máscara. Aunque para nosotros era lógico ser demasiado precavidos, parecía que la mayoría de los delegados de la conferencia habían optado por no llevar máscaras.

Sobre los elefantes

Elephpants, prizes and swag at our conference booth

Siempre me ha dado una vaga sensación de orgullo que PHP sea el único lenguaje con un [gran conjunto de juguetes coleccionables ( https://elephpant.me/ ) (lo siento Golangeres nuevo en esto). Incluso durante la grabación de un breve momento cómicola aparición de elefantes amarillos tuvo el mayor coleccionista del mundo para preguntarme si eran nuevos.

De hecho, no lo eran. Teníamos algunos sobrantes de marca de nuestra entidad corporativa anterior para regalar, pero surgió la pregunta: ¿pedimos un nuevo lote de elefantes de edición limitada de Vonage? La respuesta entre su equipo pareció ser un rotundo "¡sí!".

También pude asistir a un puñado de charlas, todas ellas, por supuesto, magníficas.

Derek Rethans sobre PHP8.1

OK, lo admito: He sido muy lapsus en la comprobación de PHP8.1 nuevas características del lenguaje. La única razón por la que realmente lo tengo en mi máquina fue que escribí un artículo experimental sobre el uso de las fibras nativas de PHP8.1pero más sobre eso después.

Hay 3 cosas que me llamaron la atención aquí sobre las que habló Derek.

Enums

La primera es la introducción de Enum nativas. Dentro del Vonage PHP SDK y de hecho a lo largo de mi carrera como desarrollador, he codificado muchísimas clases de cliente/servicio que tienen un gran número de constantes estáticas. Estas constantes a menudo describen el estado de la clase; por ejemplo, un objeto SMS puede ser "enviado", "entregado", "pendiente", etc. Otro ejemplo clásico sería una entrada de blog con un flujo editorial: "borrador", "en revisión", "escritorio del editor", "publicado", etc.

Enums son una buena solución para hacer tus clases más seguras. Puedes leer más sobre su implementación aquíy como se ve en mi artículo sobre Laravel 9los principales frameworks ya los están introduciendo para casos de uso relevantes.

array_is_list()

Una queja habitual en el mundo PHP es cómo se estructuran las matrices y cómo las utilizan los desarrolladores. Cuando empecé a programar en PHP, no me enteré de nada cuando me presentaron los "arrays hash" y los "arrays asociativos", pensando que todo tenía sentido. Sin embargo, muchos años de experiencia, cicatrices de batalla de bases de código más débiles, y la visión de otros lenguajes (en este caso, Python) me han hecho ver la implementación de PHP de arrays como una estructura de datos por lo que son: un hack con el potencial de causar muchos problemas.

La introducción de array_is_list() es un paso bienvenido hacia un enfoque quizás más intuitivo de las matrices. Ahora se puede comprobar si el array es realmente lo que en otros lenguajes se definiría como un listes decir, una matriz hash con claves enteras consecutivas. Puede encontrar ejemplos de su uso en la práctica en la documentación de PHP.

Nueva palabra clave en Inicializadores

Este probablemente va a resonar más con los usuarios regulares del framework que crean servicios regularmente que utilizan Inyección de Dependencia. Junto con la introducción de la introducción de la promoción de propiedades del constructorahora puedes usar la palabra clave new dentro de los paréntesis del argumento en el constructor para hacer clases constructoras codificadas explícitamente. Ahora puede quitar la lógica null para que se vea algo como esto:

class Article
{
	public function __construct(
		protected WorkflowState $workflowState = new WorkflowState('draft'),
	)
}

Así, se puede construir un Article objeto con un WorkflowState de tu elección, o lo creará con el estado 'borrador' por defecto y lo promocionará como $this->workflowState.

Alexandra White sobre documentación

El equipo de relaciones con los desarrolladores de Vonage cuenta con un equipo dedicado a la redacción de documentación. ¿Por qué? Porque escribir buena documentación es difícil; es absolutamente esencial que tus desarrolladores puedan obtener la información correcta que buscan lo más rápido posible. Alexandra White nos llevó en un viaje de cabeza-asiento de trampas, notas de lanzamiento que inducen a la ira, y la forma de considerar su audiencia (spoiler: asegúrese de escribir sus documentos para usted pasado, usted actual, compañeros, y la comunidad y hacer que su mentalidad cada vez).

También se habló de la maldición del conocimientoque es algo con lo que me encuentro a menudo. En Vonage, tenemos que considerar este problema constantemente: tenemos muchas APIs que documentar, así que cuando escribimos documentación o artículos en el blog tenemos que nunca asumir conocimientos. El desarrollo de software en, por ejemplo, el mundo de JavaScript ofrece al desarrollador un mar interminable de opciones, por lo que es importante reconocer que se lee el cuarto.

Lorna Jane Mitchell sobre el código abierto

En los últimos cinco años, hemos visto un gran número de nuevas empresas bien financiadas que están utilizando el modelo de negocio de liberar su software principal como código abierto, manteniendo el código propietario como parte de una empresa o producto Pass / SaaS. El aspecto de "código abierto" de lo que hacemos, sin embargo, a veces, como señaló Lorna, pierde su significado. "Código abierto" no significa "libre y en Github", como a veces vemos con proyectos subidos y luego rápidamente olvidados. Código Abierto significa mantenimiento, colaboración y contribuciones de la comunidad; es software que tiene una licencia elegida a propósito que es más relevante para él en lugar de "tirar una licencia MIT y olvidarse de ella".

La parte de la charla de Lorna relacionada con las licencias me hizo pensar: ¿qué licencias utilizamos en Vonage para todos nuestros SDK de código abierto? ¿Son las licencias correctas? (después de conversar sobre esto, ¡sí, lo son!). Pero lo que constituye tu software también debería estar documentado - esto no lo sabía - en el SBOMo Lista de materiales del software como parte de su Inventario de código. Todos estos aspectos del software de Código Abierto son cosas que deberíamos considerar más, especialmente quizás en la tierra de PHP, dado que PHP es realmente uno de los últimos lenguajes verdaderamente de Código Abierto.

Milko Kosturkov sobre las fibras

PHP asíncrono ha estado disponible para los desarrolladores desde que PHP5.6 introdujo los generadores. Los generadores permitieron la introducción de co-rutinas, lo que resultó en la creación de varios frameworks PHP asíncronos tales como Swoole, amphpy ReactPHP.

La diferencia ahora es que las fibras son nativas, y Milko mostró algunas diapositivas de código de implementación sólidas sobre cómo se puede realmente codificar para el bucle de eventos. Lo admito, es bastante difícil de seguir, pero lo importante es mostrar y aprender cómo programar asíncronamente en PHP porque la tasa de adopción de frameworks como Framework X y ReactPHP sólo está subiendo.

Dave Liddament sobre el análisis estático

Hace poco escribí un artículo sobre PHPStanque es una de las dos herramientas de análisis estático mejor mantenidas y utilizadas junto con PsalmPHP. El trabajo que los autores de estas librerías han realizado para crear estas herramientas es nada menos que asombroso, y Davepara mostrar un viaje de codificación para hacer tu código más robusto realmente me hizo pensar en lo afortunados que somos a veces en PHP-land. Estas herramientas, como se ha demostrado, realmente puede convertir su base de código PHP en lo que es efectivamente un lenguaje compilado (y por lo tanto con lo que los beneficios que vienen con lenguajes compilados.)

Y por último James Seconde en PHP-VCR

James Seconde speaking on PHP-VCR on the Porter Tun Stage

Numbers were already down this year because of COVID, but I was also somewhat unlucky in that tormenta Eunice estaba llegando a Londres y, como era de esperar, la gente empezó a marcharse antes. Como supe más tarde, probablemente fue una decisión inteligente, ya que la tormenta se llevó toda la línea principal de la costa oeste y las líneas ferroviarias de Chiltern, dejándome atrapado en Londres.

A pesar de estos retos, disfruté mucho subiendo al escenario para hablar del descubrimiento de PHP-VCR y mostrar ejemplos de código utilizando el marco de pruebas PEST. Las preguntas y respuestas resultaron ser bastante largas, con interacciones que resultaron en posibles colaboraciones para llevar PHP-VCR a Laravel y PEST (algo que ya he empezado a investigar).

Fue una gran sensación volver al escenario, por fin, después de casi 3 años, pero esto es sólo el principio. Estad atentos a vuestros grupos de encuentro locales para ver si vuelvo a dar esta charla para vosotros.

Compartir:

https://a.storyblok.com/f/270183/400x385/12b3020c69/james-seconde.png
James SecondePromotor senior de desarrollo PHP

Actor de formación con una disertación sobre la comedia, llegué al desarrollo de PHP a través de la escena de las reuniones. Puedes encontrarme hablando y escribiendo sobre tecnología, o tocando/comprando discos raros de mi colección de vinilos.