• Главная
  • Контакты
Подписаться:
  • 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:44

Как развернуть модель для генерации видео LTX-2 на сервере +32

07:00

Как мы тысячу «яблок» для песочниц в дата-центры устанавливали +27

08:31

Кто работает, когда ничего не работает: от алерта до постмортема +18

06:03

Ты больше не управляешь людьми: почему это происходит и что с этим делать +16

08:00

От расшифровки звонков до собственных приложений: как ИИ взрослеет внутри CRM +13

11:59

«Вы сливаете наши номера!» Как мы искали крота внутри компании, а нашли мобильных операторов +11

07:02

Как один баг в sendmail создал эру спама и привёл к SPF, DKIM и DMARC +11

06:50

Умное фортепиано 19 века: Как оно работало, почему его все любили и как чуть не началась первая война форматов +11

07:03

Zynq 7000. HDMI для платы Zynq Mini и Linux +10

05:15

От гипотезы до производства: как устроены проекты НИОКР +10

08:51

Предзаказ на книгу: «Высоконагруженные приложения. Программирование, масштабирование, поддержка. 2-е изд.» +9

09:01

Обучаем ИИ видеть то, чего он никогда не видел +8

12:13

Всё о компьютерах в фильме «Парк юрского периода» +6

08:41

Почему хорошие идеи умирают на совещаниях +6

08:05

Подключаю свой перчик к умному дому, или как я датчик влажности почвы для Home Assistant делал +6

07:51

Моды, которые превращают ванильный Fallout 4 в современную игру. Часть 1 +6

07:00

Разрушители мИИфов – тестируем Headroom. Правда ли умная прокся может сэкономить вам токены? +6

06:10

Математика для датчиков: как посчитать коэффициенты для АЦП и получить реальные значения +6

05:57

Дело о зависшем пуле: @Transactional, connection leak и deadlock в Spring Boot. Production-нуар +6

08:47

Говорят, спортивное программирование портит код. Почему я с этим не согласен +5

11:27

Простая конструкция, но высокая вычислительная мощность: в чем особенность разработки базовых станций +58

11:01

Перебор IP-адресов на хостинге — и как с этим бороться +57

07:01

Фотография при флуоресценции в мягком ультрафиолетовом свете +50

11:37

Загадка падающей цепочки: почему конец цепи ускоряется сильнее g? +46

13:57

Открытые LLM в продакшене: 8 выводов о llama.cpp, Gemma и Qwen +26

12:19

OpenIDE Pro: публичный релиз для всех! Java, Kotlin, Go, TypeScript, Python, PHP и DB-клиент в одном дистрибутиве +26

07:17

Лазерные спеклы — что это такое и как их применить с пользой? +26

15:02

Вы не знаете CSS. Мои вопросы о CSS с ответами. Версия 2026 года +25

09:11

Attack Replay: новый инструмент для воспроизведения и модификации трафика при тестировании СЗИ +25

08:00

Мониторинг модулей ядра и защита от Dirty-уязвимостей с помощью Wazuh +25

08:40

Alice AI ART 2.0: путь к unified‑модели, которая одинаково хорошо умеет генерировать и редактировать картинки +24

07:15

Digital Points — программный осциллограф, так и не ставший стартапом +23

08:05

Что я узнал за год, мониторя 6 500 сайтов: 108 312 падений в цифрах +20

11:42

Немецкий «король патентов» Артур Фишер. Как человек без высшего образования стал самым плодовитым изобретателем ФРГ +17

18:06

Как я добавил LLM в чат друзей, и приказал ей отыгрывать терминатора (и открыл портал в мультивселенную безумия) +16

16:13

Две недели в Школе 21: кузница IT-рабов или выживальщик для программистов? +16

16:01

Как из организатора DevOps-сообщества я стал директором ассоциации, которая развивает Cloud-native-технологии +16

06:17

Как и зачем появились длинные чеки у самой крупной в США аптечной сети CVS +15

15:22

АЭРОДИСК сократил руководителя техподдержки. А он отсудил больше 7 миллионов и вернулся на работу +14

07:00

Роботизация тяжелой строительной техники: от экспериментов к реальности +14

08:52

Кризис системы: почему скорая помощь в США такая дорогая? +93

16:21

Вторая Пчелиная война в Eve Online +80

14:54

Почему HDD стучит? +62

07:43

Рекомендации на онбординге Хабра стали обновляться чаще (и автоматически) +40

07:01

Жизнь вне цивилизации +38

08:00

Почему ИИ-компании делают ставку на ядерные микрореакторы и что уже работает +37

13:01

Самодельный Linux-планшет +36

13:00

wiiMac: запускаем Mac OS X на Nintendo Wii +30

09:07

Про то, как я оцифровал себя без ИИ, чтобы стать видеоблогером +29

07:03

Мышка наших отцов. Кто придумал, как работало и где использовали световое перо +28

09:01

TAMA-90: тамагочи из 90-х своими руками на JavaScript +25

09:05

Эволюция, а не революция: релиз Elixir 1.20 и почему он вас заинтересует +23

07:01

Как мигрировать Flutter-приложение на SPM — гайд с граблями, костылями и скриптами +22

15:02

Всё о моделировании электроприводов в REPEAT VISION +17

12:32

Суть асинхронности в python +15

12:20

Вышел открытый игровой движок Godot 4.7 — подробный обзор нововведений +15

11:38

Почему одна вставка в PHP‑массив может стоить 100 мс +15

08:00

Бит на старте: чат‑бот для спортивного марафона на платформе Вайбкод +14

07:00

Сделать технический воркшоп: наш опыт и ошибки после обучения 60+ участников +14

02:02

Скрипач не нужен, или ИИ как инструмент разработчика +14

ОБСУЖДАЕМОЕ

  • Жизнь вне цивилизации +38

    • 279   21000

    Кризис системы: почему скорая помощь в США такая дорогая? +93

    • 198   20000

    А что, если AI-код вообще не нужно ревьюить? -5

    • 62   9100

    Механизм возникновения сознания у конечных автоматов +4

    • 60   12000

    Почему Windows Vista не такая плохая как кажется? +1

    • 58   6700

    Вторая Пчелиная война в Eve Online +80

    • 40   20000

    Перебор IP-адресов на хостинге — и как с этим бороться +57

    • 39   15000

    АЭРОДИСК сократил руководителя техподдержки. А он отсудил больше 7 миллионов и вернулся на работу +14

    • 26   10000

    OpenIDE Pro: публичный релиз для всех! Java, Kotlin, Go, TypeScript, Python, PHP и DB-клиент в одном дистрибутиве +26

    • 26   13000

    Как и зачем появились длинные чеки у самой крупной в США аптечной сети CVS +15

    • 25   8500

    Самодельный Linux-планшет +36

    • 25   18000

    Открытые LLM в продакшене: 8 выводов о llama.cpp, Gemma и Qwen +26

    • 23   12000

    Claude становится строже на русском: Anthropic выяснила, как язык меняет ответы ИИ +11

    • 22   17000

    Жизнь в цивилизации и вне ее +5

    • 21   5100

    Основы биологии для инженеров (Часть 2. Старение) +12

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