PHP-Дайджест № 84 – цікаві новини, матеріали і інструменти (10 – 24 квітня 2016)



Пропонуємо вашій увазі чергову підбірку з посиланнями на новини та матеріали.

Приємного читання!


Новини та релізи
  • Високопродуктивний PHP — PHP-PM   Два роки тому автор посту опублікував примітки про запуск Symfony-додатки за допомогою ReactPHP. Тоді це дозволило отримати десятикратний приріст продуктивності. У пості автор проводить ретроспективу та огляд поточного стану проекту. Наприклад, зараз за допомогою php-pm так само можна запустити програму на Laravel, Zend, Drupal.
  • WordPress 4.5 «Coleman»   Вийшла версія містить ряд малопомітних удосконалень, а от серед змін, запланованих на 4.6 можна помітити пропозиція про реалізацію PSR-4 автозавантажувач.
  • league/oauth2-server 5.0   Свіже оновлення реалізації OAuth 2.0 сервера на PHP. Під капотом підтримка PSR-7, JWT, і безліч поліпшень. Посада на підтримку.
  • nikic/PHP-Парсер 2.1.0


PHP
  • RFC: Attributes   Пропонується реалізувати механізм нативних анотацій в PHP. Синтаксис запозичений з Hack. Атрибути не виконуються, але зберігаються в абстрактному синтаксичному дереві PHP і можуть бути потім використані в PHP-розширення, препроцессорах, і безпосередньо в скриптах.
    <<...>>
    <<...>>
    function foo() {}
    

  • RFC: Anonymous Class Lexical Scope   Автор пропонує вирішити проблему передачі залежностей у анонімний клас. Для цього пропонується використовувати
    use
    в замиканнях:
    $foo = 5;
    $foo = new Bar() use($foo) {
    public $foo;
    };
    

  • RFC: Union Types   Починаючи з PHP 5.1 можна явно вказувати тип переданих параметрів, а з PHP 7.0 також тип значень. Пропонується зробити можливим вказівки множинних типів:
    function (Array | Traversable $in) {
    foreach ($in as $value) {
    echo $value, PHP_EOL;
    }
    }
    

  • RFC: Nullable Types   Також пропонується зробити можливим вказівка типу, який може бути порожнім null:
    function foo_nullable(?Bar $bar) {}
    
    foo_nullable(new Bar); // valid
    foo_nullable(null); // valid
    foo_nullable(); // invalid
    

  • RFC: Generic Types and Functions   Пропозицію реалізувати генерики (шаблони) в PHP породило хвилю обговорень.
    А як ви вважаєте, наскільки виправдана така можливість в PHP? Залишайте свій голос в опитуванні в кінці посту та діліться думкою в коментарях.


Інструменти
  • teamtnt/tntsearch   Повнофункціональний движок повнотекстового пошуку на PHP.
  • PHPMessageBus/messagebus   Реалізація шини повідомлень (CommandBus, QueryBus, EventBus) на PHP 7.
  • paragonie/csp-builder   Бібліотека спрощує впровадження стандарту безпеки Content Securiy Policy, який дозволяє захиститися від XSS і подібних атак.
  • lavary/crunz   Бібліотека для роботи з cron-завданнями. Дозволяє задавати проміжки виконання в людино-зрозумілому вигляді.
  • SerafimArts/Properties   Реалізація властивостей в PHP на основі phpdoc декларацій. Надіслав serafimarts.
  • simplepie/simplepie   Простий парсер Atom/RSS фідів.
  • tightenco/jigsaw   Статичний генератор сайтів на основі шаблонизатора Blade. Пост підтримку.
  • Corollarium/cachearium   Бібліотека для кешування.
  • DusanKasan/Knapsack   Зручна бібліотека для роботи з колекціями.
  • leroy-merlin-br/mongolid   ODM для MongoDB.
  • sebastianbergmann/phploc   Класичний інструмент для оцінки розміру проекту.
  • jmespath/jmespath.php   Бібліотека реалізує мову запитів для JSON-документів.
  • ramsey/uuid   Реалізація генератора UUID за стандартом RFC 4122. Посада на підтримку.


Матеріали для навчання


Аудіо та відеоматеріали


Цікаве


Спасибі за увагу!

Якщо ви помітили помилку чи неточність — повідомте, будь-ласка, лічку.
Питання та пропозиції пишіть на пошту або twitter.

Надсилайте посилання цікаві статті або корисні інструменти, яких не було в PHP-Дайджестах, і ваше ім'я буде поряд з надісланої посиланням у випуску.

Швидкий пошук по всіх дайджестам
Попередній випуск: PHP-Дайджест № 83

Генерики (шаблони) в PHP?

/>
/>


<input type=«radio» id=«vv72937»
class=«radio js-field-data»
name=«variant[]»
value=«72937» />
За
<input type=«radio» id=«vv72939»
class=«radio js-field-data»
name=«variant[]»
value=«72939» />
Проти
<input type=«radio» id=«vv72941»
class=«radio js-field-data»
name=«variant[]»
value=«72941» />
Не визначився

Проголосувало 19 осіб. Утрималося 6 чоловік.


Тільки зареєстровані користувачі можуть брати участь в опитуванні. Увійдіть, будь ласка.


Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.