PHP Digest No. 148 (14-28 de enero de 2019)


Nueva selección con enlaces a noticias y materiales. En el tema: hackeado el repositorio PEAR, sobre el futuro de Xdebug, la conferencia PHP Rusia 2019, lanzamientos recientes, ofertas RFC de PHP Internals, una porción de herramientas útiles y mucho más.

Que tengas una buena lectura!



Noticias y lanzamientos


  • El repositorio de PEAR ha sido pirateado : el sitio pear.php.net se ha desconectado y todavía no funciona. Se sabe que se inyectó código malicioso en el archivo go-pear.phar. Está en riesgo si descargó manualmente este archivo después del 20/12/2018. Para verificar, debe descargar un archivo "limpio" de GitHub y comparar las sumas de verificación. Hay un script para la automatización. Si utilizó el sistema operativo con PHP preinstalado o instalado utilizando el administrador de paquetes, es muy poco probable que haya utilizado go-pear.phar. Mientras el sitio está inactivo, existen soluciones para instalar paquetes PEAR y construir PHP desde la fuente .
  • El futuro de Xdebug : publicado por Xdebug Derick Rethans sobre deuda técnica y problemas de expansión. Se va de MongoDB , donde trabajó durante los últimos 7 años. En un futuro próximo, tiene la intención de refactorizar y refinar Xdebug, y también está buscando formas de financiamiento. Puedes apoyar a Derik en su Patreon .
  • ¿Quién paga por el desarrollo de PHP? - Al final de la publicación, se dice que la organización igphp.de junto con algunos miembros clave del equipo de PHP están planeando una solución al problema de financiamiento y soporte para PHP, y pronto lo anunciarán.
  • Perforce absorberá el software Rogue Wave
  • PhpStorm 2019.1 EAP : se lanzó el Programa de acceso temprano PhpStorm, gracias al cual puede ser el primero en experimentar las nuevas funciones IDE de forma gratuita. Entre las innovaciones: depuración de plantillas Twig, la capacidad de ordenar importaciones (usar expresiones), soporte phpcbf para corregir errores de estilo y muchas otras mejoras.
  • ru Onliner PHP Meetup # 3 - Minsk, 9 de febrero.
  • ru PHP Rusia 2019 - ¡El 17 de mayo en Moscú organizará una conferencia PHP especializada!
    Sobre cómo apareció la idea y sobre el equipo se puede leer en la publicación de Alexander Makarov . Las solicitudes de informes están en pleno apogeo. Y también en Telegram, el canal oficial @PHPRussiaConfChannel y el chat @PHPRussiaConfTalks con discusiones están disponibles.

PHP internos


  • [RFC] Operador de asignación de fusión nula : la propuesta fue aceptada hace más de dos años. Y ahora la implementación del operador combinado con la comprobación de nulo ??= finalmente se completa y se procesa. A pesar de la aparente simplicidad de la tarea, la implementación resultó ser muy trivial .
    Total: $a ??= $b equivalente a $a ?? ($a = $b) $a ?? ($a = $b) . En el caso de $a[foo()] ??= bar() función foo() se llamará exactamente una vez, y bar() se llamará si $a[foo()] es null (o no está establecido).
    El tema es una buena publicación sobre otros operadores cortos en PHP .
  • [RFC] Nuevo mecanismo de serialización de objetos personalizados : Fresh RFC de Nikita Popov. Se propone introducir un nuevo mecanismo para serializar objetos agregando un par de métodos mágicos:

     // Returns array containing all the necessary state of the object. public function __serialize(): array; // Restores the object state from the given data array. public function __unserialize(array $data): void; 

    Este cambio está destinado a solucionar Serialiazable interfaz Serialiazable . Desafortunadamente, es imposible arreglar la interfaz en sí, pero si se acepta la propuesta, habrá una alternativa de trabajo.
  • [RFC] Constructor libre de código : se propone agregar un constructor automático cuya tarea es inicializar las propiedades:
    Texto oculto
     class MotorCycle { public $vendor; public $cc; public $whells = 2; public function __construct($vendor, $cc) { $this->vendor = $vendor; $this->cc = $cc; } //other methods } class MyCustomMotorCycle extends MotorCycle { public function __construct($cc, $whells) { parent::__construct("Custom", $cc); // $this->cc = $cc; this statement will be added within proposed realisation $this->whells = $whells; } } 

    para el código anterior, se sugiere la siguiente sintaxis alternativa:
     class MotorCycle($vendor, $cc){ public $whells = 2; //other methods }; class MyCustomMotorCycle($cc, $whells) extends MotorCycle("Custom", $cc){ }; 


Las herramientas



Symfony



Laravel



PHP asíncrono



CMS



Materiales de aprendizaje




Entretenido


  • Code Galaxies : una divertida visualización en 3D de las relaciones entre los paquetes de Composer.

Gracias por su atencion!

Si nota un error o inexactitud, infórmeme en PM .
Preguntas y sugerencias escritas a mail o twitter .

Más noticias y comentarios sobre el canal de telegramas PHP Digest .

Enviar enlace
Buscar enlaces para todos los resúmenes
← Versión anterior: PHP Digest No. 147

Source: https://habr.com/ru/post/437752/


All Articles