PHP Middleworld

PHP Middleworld é um site que facilita a busca por implementações de middleware da PSR-7 para serem utilizados em frameworks compatíveis.

What is middleware?

In the realm of web application development Middleware refers to functions wrapped around business logic. They rely upon the decorator pattern and are composed in a sort of layered stack. You could think of them as onion layers, with your business logic residing at the innermost stratum (more on Wikipedia).

Several modern PHP frameworks (such as Zend Expressive and Slim) embrace such framework-agnostic, reuse-oriented paradigm, wholly supporting PSR-7 compliant middleware.

Goal for PHP Middleworld is collecting all available PSR-7 compliant middleware and provide a unique, consistent repository, encouraging middleware reuse and exchange among PHP developers.

Visualizar todos os middlewares disponíveis: http://www.php-middleworld.com/explore

Mailer RCE Flaw Vulnerability

No final do ano passado foram encontradas falhas RCE (Remote Code Execution) nas seguintes bibliotecas: PHPMailer (até v5.2.20) SwiftMailer (até v5.4.4) e Zend-mail (até v2.4.10).

Maiores detalhes:

  • PHPMailer < 5.2.18 Remote Code Execution (CVE-2016-10033)
  • PHPMailer < 5.2.20 Remote Code Execution (CVE-2016-10045 / escapeshell bypass)
  • SwiftMailer <= 5.4.5-DEV Remote Code Execution (CVE-2016-10074)
  • Zend Framework / zend-mail < 2.4.11 - Remote Code Execution (CVE-2016-10034)

PsySH

PsySH é um console interativo para desenvolvimento PHP muito semelhante ao console do Python.

psysh

A runtime developer console, interactive debugger and REPL for PHP.

Instalação

$ wget https://git.io/psysh
$ chmod +x psysh

Uso

$ ./psysh

Após executar o comando psysh iniciará o console interativo. Para saber mais sobre as funcionalidades acesse o site do projeto: https://psysh.org/#features

Design Patterns PHP

Esta é uma coleção de padrões de projetos conhecidos e alguns códigos de exemplo de como implementá-los em PHP. Todo padrão tem uma pequena lista de exemplos (muitos deles vindos do Zend Framework, Symfony2 ou Doctrine2 já que tenho mais familiaridade com eles

Eu acredito que o problema com os padrões é que muitas pessoas os conhecem mas não sabem quando aplicá-los

Symfony 500million

Desde o lançamento do Symfony 2.0 (28 de julho de 2011) os pacotes dos componentes do framework já foram baixados mais de 480 milhões de vezes. E para acompanhar essa marca chegar a 500mi foi lançada uma página com o contador de downloads (apenas downloads via Composer):

https://symfony.com/500million

De acordo com a página, seguindo a taxa de download atual, a marca de 500 milhões de downloads será alcançada no dia 26 deste mês às 06h34 (horário de Brasília).

E as melhores fotos publicadas no Twitter com a hashtag #500million serão premiadas (conforme publicação no blog oficial).

Fonte: https://symfony.com/blog/the-road-to-500-million-symfony-downloads

Crunz

Crunz é um agendador de tarefas periódicas escrito em PHP. Possibilitando configurar as tarefas a serem executadas através de uma API fluente.

<?php

use Crunz\Schedule;

$schedule = new Schedule();
$schedule->run('cp project project-bk')       
         ->daily()

return $schedule;

E por fim adicionar uma única entrada na crontab para para executar o Crunz a cada minuto:

* * * * * /project/vendor/bin/crunz schedule:run

Para visualizar maiores informações sobre a biblioteca é só acessar a página do projeto no Github.

PHP 7.1 Alpha

Ontem foi lançada a primeira versão alpha do PHP 7.1.0.

The PHP development team announces the immediate availability of PHP 7.1.0 Alpha 1. This release marks the beginning of the first minor release in the PHP 7.x series. All users of PHP are encouraged to test this version carefully, and report any bugs and incompatibilities in the bug tracking system.

Lembrando sempre que é uma versão prévia e que não deve ser utilizada em produção.

Fonte: http://php.net/archive/2016.php#id2016-06-09-1