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

Как я сделал робота — что хотел и что получилось. Часть 1 +11

09:01

Что значит «хороший вкус» в разработке ПО? +10

08:00

Motorola Razr V3: икона стиля из нулевых. Разбираем и изучаем +10

00:05

Атом смысла: как из ничего получить все +8

07:41

От GPT-2 к gpt-oss: анализ достижений архитектуры +7

11:20

О горьком опыте масштабирования производств, о важности ведер и о причинах седины +6

04:38

Как я переделал свой мини-ПК и зачем мне это было нужно +6

07:01

Управление проектами: дайджест публикаций #42 +5

00:43

Запускаем Qwen3-VL-30B на 48GB VRAM +5

11:51

Почему хороших middle-разработчиков не повышают до senior — честный взгляд изнутри +4

10:16

Паттерны программирования при работе с LLM +4

07:28

Хранение временных данных в PostgreSQL +4

05:16

Rust + C++ через FFI: как подружить два мира и не сойти с ума +4

12:06

LackFox pico — одноплатник в форм факторе Arduino +3

10:52

Опасности планирования следующей поездки с помощью ИИ +3

08:15

Как мы делали свою ноду для n8n +3

06:48

Data Forge: Собираем весь современный дата-стек на своем ноутбуке одной командой +3

06:16

Цифровая зависимость: почему проприетарный софт — тупик для человечества? +3

04:32

Топ четыре ранних биомаркеров для 99,6% случаев сердечных приступов +3

12:24

Open source-стратегии: как и с кем Arenadata развивает партнёрские отношения, и причем здесь открытые технологии +2

14:06

Тайна самой дешевой консоли с Ozon +129

08:30

Реверс-инжиниринг: стартуем прошивку ReadyNAS через QEMU +46

17:46

Линейная алгебра: четыре разных подхода к одной задаче +39

13:01

Pentax MZ-M и другие: как пластиковые камеры чуть не убили пионеров зеркалкостроения +32

09:01

«LLVM для AI». Крис Латтнер и язык программирования Mojo +30

17:59

Предварительный взгляд на 3I/ATLAS с Марса +24

09:16

OpenSource, или как я перестал бояться и полюбил автотесты +21

09:16

OpenSource, или как я перестал бояться и полюбил автотесты +21

11:22

Parquet — король умер? Да здравствует… кто? Обзор BtrBlocks, FastLanes, Lance и Vortex +19

06:57

Topical Authority на практике: как стать экспертом в глазах Google (и почему одна статья никогда не ранжируется) +19

05:30

Go, Rust или всё же C++? Куда мы переписываем наш высоконагруженный бэкенд в 2025 +18

13:38

Экспериментальный селф-хостинг — материалы для начинающих, личный опыт, DIY-гайды и домашние лабы +15

08:04

FreeBSD и крепкий сон ноутбука +14

12:15

Минимальный каркас самописного Bootloader'a на STM32F103C8T6. Пошаговый пример +11

10:27

Реализация сервиса на C++: TDD, DDD и событийно-ориентированная архитектура +11

08:01

Linux 6.17: свежие драйверы, быстрые сети и надежная память +11

03:46

Время одиночных разработчиков и микрокоманд: как ИИ съел оргструктуру +10

10:16

Призрак в машине: ИИ-подделка и аура в эпоху алгоритмической воспроизводимости +9

12:00

Лабораторный блок питания с плавной регулировкой, цифровым дисплеем и дополнительными выходами USB +7

05:40

Создание пользовательских обработчиков для логов в Python +7

09:01

Носить электроны в решете, или зачем радиолампам дырявые аноды? +71

07:00

Порт один, а сервисов — много. Учимся дружить Mikrotik с Nginx +60

14:36

Промышленный увлажнитель дома +58

19:06

Kernel-hack-drill и новый эксплойт для CVE-2024-50264 в ядре Linux +54

11:53

PCIe умер, да здравствует CXL +54

14:46

ESP32 + LD2410: Архитектуры нейронных сетей для классификации движений +49

10:16

[Пятничное] Я сломал русский язык. Теперь ваша очередь +43

08:05

VEF ТА-12. Оживляем раритетный телефон с АОН +37

13:01

Три пути к 4K: выбираем свой инструмент для нейросетевой реставрации видео +34

11:00

Видеокарты NVIDIA для enterprise: A2000, T4 и A2 — что выбрать и как арендовать за рубль +33

17:05

Обернитесь, сзади стоит D&D. Настолка, покорившая мир +25

09:53

Куда исчез шиллинг: флорины, пенсы и некоторые другие монеты Великобритании +24

09:13

Безопасные операции zero-copy на C# +23

16:05

Как спать идеально +21

13:07

Пандемия «порченой крови»: виртуальная катастрофа с реальным продолжением +21

14:40

Как устроены перечисления в PHP +19

12:27

Как я писал свою звонилку для видеозвонков +19

14:16

PostgreSQL против 10 миллионов записей: оптимизация запросов, которая спасла наш проект +18

10:28

Внедрение пуш-уведомлений в React Native: от Firebase до кастомных модулей +17

12:18

Архитектура NGFW: опыт использования VPP и DPDK, частые ошибки разработчиков +16

ОБСУЖДАЕМОЕ

  • Промышленный увлажнитель дома +58

    • 76   20000

    Go, Rust или всё же C++? Куда мы переписываем наш высоконагруженный бэкенд в 2025 +18

    • 55   13000

    Тайна самой дешевой консоли с Ozon +129

    • 47   28000

    PCIe умер, да здравствует CXL +54

    • 44   74000

    Носить электроны в решете, или зачем радиолампам дырявые аноды? +71

    • 43   4400

    Предварительный взгляд на 3I/ATLAS с Марса +24

    • 35   25000

    Безопасность удалённого доступа: почему RDP и VNC уступают современным решениям -7

    • 35   11000

    PostgreSQL против 10 миллионов записей: оптимизация запросов, которая спасла наш проект +18

    • 33   10000

    Ледокол для Человечества: Может ли общая идея построить мост над пропастью? +6

    • 28   1700

    Как спать идеально +21

    • 27   4700

    [Пятничное] Я сломал русский язык. Теперь ваша очередь +43

    • 26   4700

    Цифровая зависимость: почему проприетарный софт — тупик для человечества? +3

    • 25   1000

    Лабораторный блок питания с плавной регулировкой, цифровым дисплеем и дополнительными выходами USB +7

    • 24   5200

    Так говорим только мы. Или почему на «Nice to meet you» нельзя отвечать «Me too» +10

    • 23   9300

    Гипотеза Коллатца как фейл мировой математики (окончание) -1

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