• Главная
  • Контакты
Подписаться:
  • Twitter
  • Facebook
  • RSS
  • VK
  • PushAll
logo

logo

  • Все
    • Положительные
    • Отрицательные
  • За сегодня
    • Положительные
    • Отрицательные
  • За вчера
    • Положительные
    • Отрицательные
  • За 3 дня
    • Положительные
    • Отрицательные
  • За неделю
    • Положительные
    • Отрицательные
  • За месяц
    • Положительные
    • Отрицательные
  • За год
    • Положительные
    • Отрицательные
  • Сортировка
    • По дате (возр)
    • По дате (убыв)
    • По рейтингу (возр)
    • По рейтингу (убыв)
    • По комментам (возр)
    • По комментам (убыв)
    • По просмотрам (возр)
    • По просмотрам (убыв)
Главная
  • Все
    • Положительные
    • Отрицательные
  • За сегодня
    • Положительные
    • Отрицательные
  • За вчера
    • Положительные
    • Отрицательные
  • За 3 дня
    • Положительные
    • Отрицательные
  • За неделю
    • Положительные
    • Отрицательные
  • За месяц
    • Положительные
    • Отрицательные
  • Главная
  • PHP-Дайджест № 107 – свежие новости, материалы и инструменты (9 – 23 апреля 2017)

PHP-Дайджест № 107 – свежие новости, материалы и инструменты (9 – 23 апреля 2017) +50

23.04.2017 20:20
pronskiy 12 13300 Источник
Разработка веб-сайтов*, PHP*, Блог компании Zfort Group


Предлагаем вашему вниманию очередную подборку со ссылками на новости и материалы.
Приятного чтения!


Новости и релизы


  • Yii 1.1.18
  • HHVM 3.19
  • PHP 7.0.18, PHP 7.1.4
  • Объявлены релиз-менеджеры PHP 7.2 — Ими стали Sara Golemon, прежде была лидером HHVM, а также Remi Collet, мейнтейнер известного репозитория имени себя. Оба много контрибьютили в PHP.
  • habr YiiConf 2017 — 16 июня 2017 в Москве пройдёт конференция веб-разработчиков, посвящённая PHP фреймворку Yii.
  • DevConf 2017 — 17 июня в Москве пройдет очередная ежегодная конференция для веб-разработчиков. Открыт прием заявок на доклады.
  • PHP Frameworks Days 2017 — 11 июня в Киеве пройдет ежегодная конференция посвященная PHP. Список докладчиков формируется, но уже заявлены Zeev Suraski, Marco «Ocramius» Pivetta, Mariusz Gil, Lukasz Szymanski.

PHP


  • Замена интерфейса Serializable — Предложение от Никиты Попова, пока не оформленное в виде RFC. Текущая реализация интерфейса имеет ряд проблем, в том числе безопасности. Предлагается использовать интерфейс с магическими методами, которые не требуют вызова serialize/unserialize, вместо этого работают с массивами:

    public function __serialize() : array;
    public function __unserialize(array $data) : void;
    

Инструменты


  • spiral/spiral 1.0.0 — RAD фреймворк с поддержкой PSR7 и HMVC архитектурой.
  • povils/phpmnd — Детектор использования магических чисел в PHP
  • cytopia/devilbox — Современная замена XAMPP на базе Docker.
  • Pterodactyl/Panel — Панель управления игровым сервером на основе Laravel.
  • minds/minds — Реализация социальной сети с бэкендом на PHP.
  • pietercolpaert/hardf — Библиотека для работы с RDF. Порт N3.js.
  • Генератор конфига Docker Compose для популярных PHP-фреймворков и CMS
  • opis/closure — Библиотека позволяет сериализовать замыкания. Альтернатива jeremeamia/super_closure.

Материалы для обучения


  • Symfony

    • Продолжение серии статей от Fabien Potencier, об Symfony 4 и его экосистеме:

      • Структура директорий
      • Автоматизация рабочего процесса
      • Репозитории рецептов

    • Неделя Symfony #537 (10-16 апреля 2017)
    • Неделя Symfony #538 (17-23 апреля 2017)

  • Yii

    • Yii development notes #5
    • Yii Вопросы и Ответы — часть 1
    • Обработка ошибок и исключений в Yii
    • ru Доменные сущности и Doctrine ORM в Yii2
    • habr Yii2-advanced: Гибкая настройка Yii2 RBAC (роли, разрешения, правила)

  • Laravel

    • clarkeash/doorman — Система приглашений для Laravel.
    • Создание бота викторины для Facebook Messenger на Laravel
    • Туториал по созданию хелпера для Laravel

  • Zend

    • andrey-mokhov/bjy-profiler — Профайлер SQL запросов для ZF3. Прислал mokhovcom.
    • Неделя Zend Framework — 2017-04-13
    • Неделя Zend Framework — 2017-04-20

  • Обзор Xdebug по случаю 15-ти летия инструмента
  • Трейты — зло?
  • Когда следует объявлять методы финальными
  • От массивов к классам
  • Построение гибких PHP приложений — Прислал im_special_one.
  • Автозапуск PHPUnit тестов с помощью Watchman
  • Обзор PhalconPHP для разработки высоконагруженных RESTful API
  • Как использовать новый код в легаси-приложении
  • Начинаем работать с RabbitMQ в PHP
  • Запускаем PHP, Ruby, и Go на AWS Lambda
  • ru DDD в PHP: Value Object или Объект-Значение
  • ru Создание строго типизированных массивов и коллекций с использованием value object
  • habr php-cs-fixer: Пишем свой фиксер
  • habr Сравнение производительности версий PHP
  • habr Шаблоны проектирования с человеческим лицом
  • habr Виртуальная Машина PHP 7

Занимательное


  • О проблемах в сообществе PHP — Прислал im_special_one.
  • habr $PHP не нужен

Спасибо за внимание!

Если вы заметили ошибку или неточность — сообщите, пожалуйста, в личку.
Вопросы и предложения пишите на почту или в твиттер.

Прислать ссылку
Быстрый поиск по всем дайджестам
< Предыдущий выпуск: PHP-Дайджест № 106
Поделиться с друзьями
-->

Комментарии (12)


  1. Gemorroj
    24.04.2017 11:49
    #10188280

    Может кто-нибудь пояснить по поводу сериализации? Проблема с безопасностью-то понятна, но зачем мне массив в результате сериализации?


    1. SonicGD
      24.04.2017 15:11
      #10188690
      +2

      Чтобы убрать вызовы serialize/deserialize из методов и избавиться от проблем очерёдности этих вызовов. Вы просто возвращаете массив данных, которые должны попасть в итоговую строку, а потом на вход принимаете такой же массив для наполнения объекта.


  1. shuchkin
    24.04.2017 17:22
    #10188936

    По статье о замене ассоциативных массивов объектами: в типовом веб приложении, где извлекаем данные из базы и по цепочке методов передаём шаблонизатору, реальная экономия памяти составляет до 40%


    1. ninadata
      24.04.2017 19:56
      #10189114

      В какой версии PHP?


      1. shuchkin
        24.04.2017 22:12
        #10189324

        Давно тестировал, в 5.2, сейчас должно быть ещё лучше из-за оптимизации в 7
        было примерно так: echo get_comments(123) — $post->get_comments() — $db->query — mysqli_fetch_assoc
        — съедает память из за копирования массива в каждом звене
        стало: echo get_comments(123) — $post->get_comments() — $db->query — mysqli_fetch_object
        — по сути массив ссылок передаётся и всё

        * можно передавать массив по ссылке, но это не наш путь

        главное, на что указывает автор, что в каждом массиве хранятся ещё и ключи, а в объектах нет


        1. Fesor
          26.04.2017 10:42
          #10191520

          съедает память из за копирования массива в каждом звене

          там же copy-on-write так что "съедать" должно только если вы в каждом "звене" что-то делаете с данными.


          1. shuchkin
            26.04.2017 10:58
            #10191570

            спасибо за уточнение
            у меня там данные менялись


  1. bm13kk
    24.04.2017 17:22
    #10188938

    Из рабочего чата


    Newest PHP (7.0.18 / 7.1.4) has new “feature” (https://bugs.php.net/bug.php?id=74216) that breaks predis


  1. de1vin
    25.04.2017 01:20
    #10189510
    +1

    Кто-нибудь spiral успел попробовать? Как ощущения?
    Неделю назад на него наткнулся, хотел использовать в будущем rad проекте вместо yii


    1. Lachezis
      25.04.2017 02:14
      #10189526
      +4

      Постоянно используем ее в продакшене (50+ проектов), но я автор и этот ответ не считается.


    1. SamDark
      25.04.2017 14:23
      #10190304

      Spiral получился интересным, но я бы не стал надеяться на RAD в продакшне с новым, ещё не изученным фреймворком.


  1. TutmeeAgency
    02.05.2017 16:10
    #10200222

    Спасибо за полезную информацию! Статью «Построение гибких PHP приложений» перевел, https://habrahabr.ru/post/327746/

МЕТКИ

  • Хабы
  • Теги

Разработка веб-сайтов

PHP

Блог компании Zfort Group

дайджест

php-дайджест

новости

подборка

ссылки

веб-разработка

php

PHP 7

symfony

yii

Laravel

Zend Framework

СЕРВИСЫ
  • logo

    CloudLogs.ru - Облачное логирование

    • Храните логи вашего сервиса или приложения в облаке. Удобно просматривайте и анализируйте их.
Все публикации автора
  • PHP-Дайджест № 113 – свежие новости, материалы и инструменты (16 – 30 июля 2017) +58

    • 30.07.2017 21:45

    PHP-Дайджест № 112 – свежие новости, материалы и инструменты (26 июня – 16 июля 2017) +47

    • 16.07.2017 20:57

    PHP-Дайджест № 111 – свежие новости, материалы и инструменты (12 – 25 июня 2017) +26

    • 25.06.2017 20:39

    PHP-Дайджест № 110 – свежие новости, материалы и инструменты (28 мая – 11 июня 2017) +50

    • 11.06.2017 22:10

    PHP-Дайджест № 109 – свежие новости, материалы и инструменты (14 – 28 мая 2017) +60

    • 28.05.2017 20:52

    PHP-Дайджест № 108 – свежие новости, материалы и инструменты (24 апреля – 14 мая 2017) +45

    • 14.05.2017 20:22

    PHP-Дайджест № 107 – свежие новости, материалы и инструменты (9 – 23 апреля 2017) +50

    • 23.04.2017 20:20

    PHP-Дайджест № 106 – свежие новости, материалы и инструменты (26 марта – 9 апреля 2017) +53

    • 09.04.2017 20:09

    PHP-Дайджест № 105 – интересные новости, материалы и инструменты (13 – 26 марта 2017) +46

    • 26.03.2017 20:00

    PHP-Дайджест № 104 – интересные новости, материалы и инструменты (1 – 12 марта 2017) +60

    • 12.03.2017 21:15

Подписка


ЛУЧШЕЕ

  • Сегодня
  • Вчера
  • Позавчера
08:05

Спасаем электронный микроскоп JEOL JEM-6A +88

06:56

PEP-734: Субинтерпретаторы в Python 3.14 +49

10:16

Все о блокировках VPN за последние две недели +47

07:05

Как учёные про мегалодона спорили +35

14:36

Почему просто продать билет на стадион так чертовски сложно +29

13:01

Биперные музыкальные движки на ассемблере Z80 +28

09:01

Децентрализованные системы радиосвязи +27

06:59

Чем заняться в выходные? Как я собрал домашнюю виртуализацию в контейнерах за 34 500 рублей +26

14:27

Краткий разбор фейковой зарядки в прикуриватель, которая прикончит ваши гаджеты +25

08:01

Автоматизируем сканирование IT-инфраструктуры: скрипт v2.0 для Сканер-ВС 6 +21

07:00

Когда LLM — это не чат, а мозг: путь к VLA‑архитектуре +20

13:33

IntelliJ IDEA переходит на единый дистрибутив +17

08:07

Шпаргалка для новичков — от GIT до Деплоя +17

07:51

Как незрячему системному администратору не потеряться в мире IT +16

15:40

Наше расследование: ищем отечественные микросхемы в «отечественных» счетчиках электроэнергии. Часть 7 +15

10:59

Interactive Brokers заставляют инвесторов платить 40% налог на наследование в США +15

08:00

Detection as code: как мы в VK SOC превращали правила в код +14

14:00

Language Dove: разбираем китайскую и не только грамоту +11

10:16

А что там с темной энергией? +11

07:00

Чёрт в табакерке: инструмент для диагностики сети на базе ОС FreeBSD +11

07:15

Советы новичкам в карьере программиста +89

15:01

Рабочая точка биполярного транзистора +51

18:42

Как я зарегистрировал CVE и разозлил вендора +46

07:00

Как законы механики и математики помогли нам с балансировкой нагрузки в 300K RPS +38

09:01

Puter.js: бесплатный бэкенд для сайтов, приложений и игр +36

13:01

«Ratchet & Clank» — угасающий привет из прошлого +35

08:57

Как мы засунули Git в браузер (и чего нам это стоило) +28

12:16

Как я прогулялся из 1С в Java и захотел обратно +27

10:02

История K2 Cloud: эволюция от провайдера до партнёра +26

08:19

Сетевой стек по-майнкрафтовски +25

14:05

ИИ (не) отнимает работу у разработчиков, или Почему вас пока не уволят +24

13:01

Что такое динамическая документация, как ее внедрить и, главное, зачем +23

12:51

Приложение для генерации QR-кодов +21

08:06

Запускаем несколько интерпретаторов в коде на Python — невероятная скорость +20

07:37

Занятия программированием и обучением шагающего двуного мини-робота в кружке от Центра робототехники Сбера +20

10:11

Строим PaaS внутри крупной компании: опыт ВКонтакте +19

13:20

Б/У Antminer S9 в помощь радиолюбителю. Часть II +18

15:22

Как выбрать оффер? Задача о разборчивой невесте и правило 37% +17

10:28

Прощай, Zone.js: ускоряем Angular с Signal API и Zoneless-подходом +17

16:54

Учим Xiaomi Mi Band 9 ходить в сауну +16

06:00

Запустили векторный поиск в YDB: рассказываем, как он работает +93

13:01

Ну, погоди! Как я создал свою версию культовой игры: от схемы до корпуса +72

07:49

Почему 21 см — это «магическая длина» нашей Вселенной +71

11:56

Меню потоков уже на Хабре +36

11:38

Гидроакустические «кубики» +35

09:33

Призраки в коммитах: пылесосим историю Git в поиске утекших секретов +34

09:01

10 популярных мифов о VDS-хостинге +34

13:08

«Почему компилятор Rust такой медленный?» +33

08:22

Топ-5 мини-ПК с фокусом на производительность: от Arrow Lake до Strix Halo +32

10:31

А вдруг прочитают? Как писать для инопланетян +31

08:05

Шифрование скриптов +30

16:35

Распродажа в издательстве «Питер» +24

08:33

Атомные реакторы для лечения рака (и почему они больше не нужны) +24

17:15

Всё об устройстве FT8/FT4 с примерами на Python +22

16:52

Как работает память в LLM и почему вы не обучаете ChatGPT своим prompt +21

07:44

Мы сделали химическую защиту собачьих лап +21

07:41

Вы точно их собеседовали: 8 личностей, которые приходят на интервью +19

11:24

Как построить отказоустойчивый кластер СУБД +17

11:24

Как построить отказоустойчивый кластер СУБД +17

09:58

Снайпинг токенов в Solana: как я автоматизировал торговлю pump and dump токенами и что из этого вышло +17

ОБСУЖДАЕМОЕ

  • Кто осознаёт? Почему главный вопрос о сознании — это не «что?», а «кто?» +7

    • 154   1900

    Вы точно их собеседовали: 8 личностей, которые приходят на интервью +19

    • 129   46000

    Почему 21 см — это «магическая длина» нашей Вселенной +71

    • 105   73000

    Меню потоков уже на Хабре +36

    • 56   1800

    Как я прогулялся из 1С в Java и захотел обратно +27

    • 49   16000

    Headhunter больше не работает. Как искать работу по-новому? -3

    • 48   6300

    Эксперимент: смогут ли бесплатные чат-боты написать Sci-Fi роман, достойный публикации на Литресе +8

    • 47   1700

    Ну, погоди! Как я создал свою версию культовой игры: от схемы до корпуса +72

    • 47   10000

    Как выбрать оффер? Задача о разборчивой невесте и правило 37% +17

    • 43   5500

    DDR4 или DDR5 в играх и на домашнем ПК: пора ли обновлять оперативную память? +7

    • 41   19000

    Советы новичкам в карьере программиста +89

    • 40   7700

    Почему люди с техническим мышлением реже попадают в ловушки на рынке недвижимости +7

    • 38   4500

    Все о блокировках VPN за последние две недели +47

    • 36   21000

    Как я зарегистрировал CVE и разозлил вендора +46

    • 36   19000

    Язык программирования C. Твой путь начинается здесь, самурай +11

    • 33   11000
  • Главная
  • Контакты
© 2025. Все публикации принадлежат авторам.