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