В телеграм чате Yii3 интересное обсуждение: если мы делаем неизменяемый объект у которого в цепочке вызываем клонирующие методы →withXYZ(…) — не будет ли это тормозить? Много лишних объектов в промежутке, расход памяти, нагрузка на GC…
Написали тесты: https://github.com/viktorprogger/clone-bench/blob/master/src/CloneBench.php
По результатам выходит, что клонирование в 2 раза медленнее. Но счёт идёт на четверть микросекунды при 1 млн revs, т.е. экономия на спичках.
Кстати, рекомендую заглянуть в исходники тестов и познакомиться с PhpBench.
Написали тесты: https://github.com/viktorprogger/clone-bench/blob/master/src/CloneBench.php
По результатам выходит, что клонирование в 2 раза медленнее. Но счёт идёт на четверть микросекунды при 1 млн revs, т.е. экономия на спичках.
Кстати, рекомендую заглянуть в исходники тестов и познакомиться с PhpBench.
🔥14😁4
Доброе утро начинаем с юмора про PHP: https://youtu.be/GzRfvwo1iNU?noutm=true
И встречаемся через 30 минут на Podlodka PHP Crew.
И встречаемся через 30 минут на Podlodka PHP Crew.
YouTube
Interview with Senior PHP Developer
PHP programming language
Interview with a PHP developer with Paul Ron - aired on © The PHP.
No Music
Programmer humor
PHP humor
Programming jokes
Programming memes
PHP
PHP memes
php jokes
laravel
composer
xampp
mysql
apache
php 7
__NAMESPACE__
#programming…
Interview with a PHP developer with Paul Ron - aired on © The PHP.
No Music
Programmer humor
PHP humor
Programming jokes
Programming memes
PHP
PHP memes
php jokes
laravel
composer
xampp
mysql
apache
php 7
__NAMESPACE__
#programming…
😁5
Свежее интервью с Тейлором про Laravel в стиле ask me anything. В описании под видео есть полный список вопросов с таймкодами, много интересного: https://youtu.be/Ylpwkzo_rFE
YouTube
Ask Me Anything About Laravel with Taylor Otwell
This video is part of the Adeva Fireside chat Series, where we host talks with industry leaders, covering different tech-specific topics. We are super excited to have Laravel`s creator Taylor Otwell.
Taylor is here to answer your Laravel questions! Join…
Taylor is here to answer your Laravel questions! Join…
Чтение на выходные: как обсуждать рабочие вопросы в мессенджерах с наглядными примерами «плохо» и «хорошо», мне статья понравилась, это база: https://kinzhal.media/howto-messenger/?utm_source=telegram&utm_medium=social&utm_campaign=chtenie-na-vyhodnye-kak-obsuzhdat-rabochi&utm_content=65194000
Кинжал
Как общаться в мессенджерах: правила переписки — Кинжал
В этом тексте собраны правила, выстраданные годами мессенджерной работы. Можно закрепить эту ссылку в шапках всех ваших рабочих чатов.
👍14
Можно бесконечно смотреть на трейты в своём коде и на холивары вокруг них. Видео для субботнего осеннего вечера, чтобы согреться, нестареющая классика: https://youtu.be/xoEPNiMtVps
YouTube
Трейты в PHP — зло? Валентин Удальцов против всех (Часть 2)
Битва сторонников и противников трейтов, которая раз и навсегда расставит точки!
Партнеры: Skyeng 🎸, Hexlet 🥁
http://phpcommunity.ru
Участники:
Валентин Удальцов (Happy Inc, Пых)
Сергей Жук (Skyeng, подкаст «Между скобок»)
Кирилл Несмеянов (Spiral Scout…
Партнеры: Skyeng 🎸, Hexlet 🥁
http://phpcommunity.ru
Участники:
Валентин Удальцов (Happy Inc, Пых)
Сергей Жук (Skyeng, подкаст «Между скобок»)
Кирилл Несмеянов (Spiral Scout…
🔥5🤮4👍3
https://habr.com/ru/post/697586/?utm_source=telegram&utm_medium=social&utm_campaign=habr.com-ru-post-697586---opisa&utm_content=65256109 — описание инструментов используемых при разработке Yii3. Рекомендую прочитать всем, статья про PHPUnit, Codeception, Infection, Psalm, StyleCI, Rector, Roave BC Check, Codecov, What the diff, ComposerRequireChecker и Github Actions
Хабр
Yii3 Overview 2. Вспомогательные инструменты разработки
Список всех статей: Вступление Вспомогательные инструменты разработки Обзор app-* шаблонов и demo Самое ужасное, что может предоставить рабочий код – внезапную проблему. Будь то отложенная бага или...
🔥12
Отличная тема 👇Мне кажется во многих более-менее крупных проектах на Laravel разрабочики в итоге приходят к структуре папок по фичам или по модулям. Признавайтесь, у кого есть своя реализация чего-то типа Laravel Modules? У нас есть 😇
🔥3
Forwarded from PHP Russia Channel
Про модульный Laravel, или как собрать фичу в кучу расскажет Алексей Васильев
⠀
📋 https://bx.vc/h9k0pd
⠀
Структура файлов, генерируемая при создании Laravel-проекта, проблематична для проектов сложнее набора CRUD'ов. Файлы складываются по типам, и при работе с одной фичей приходится перелопатить несколько папок. Необходимость частичного выделения функционала в отдельный сервис превращается в головную боль.
⠀
Предлагается новый feature-based-подход, основывающийся на группировке кода и шаблонов по фичам.
⠀
Для реализации этого подхода Алексей создал библиотеку, о которой речь также пойдёт в выступлении.
⠀
Приведя в порядок структуру файлов, можно пойти дальше и реализовать на базе той же библиотеки полноценную функциональную модульность — такую возможность она тоже даёт.
⠀
🖐 Ждем вас 24 и 25 ноября в Москве
⠀
✅ Программа конференции и билеты здесь - https://bx.vc/wsgiyp
⠀
📋 https://bx.vc/h9k0pd
⠀
Структура файлов, генерируемая при создании Laravel-проекта, проблематична для проектов сложнее набора CRUD'ов. Файлы складываются по типам, и при работе с одной фичей приходится перелопатить несколько папок. Необходимость частичного выделения функционала в отдельный сервис превращается в головную боль.
⠀
Предлагается новый feature-based-подход, основывающийся на группировке кода и шаблонов по фичам.
⠀
Для реализации этого подхода Алексей создал библиотеку, о которой речь также пойдёт в выступлении.
⠀
Приведя в порядок структуру файлов, можно пойти дальше и реализовать на базе той же библиотеки полноценную функциональную модульность — такую возможность она тоже даёт.
⠀
🖐 Ждем вас 24 и 25 ноября в Москве
⠀
✅ Программа конференции и билеты здесь - https://bx.vc/wsgiyp
👍9😐1
Подписываюсь под каждой практикой в этом докладе, мы тоже так работаем и это удобно: https://youtu.be/pt_MkFT51aA
👍2
Релиз PHP 8.2 откладывается на 2 недели до 8 декабря из-за найденных в последний момент критических багов. Подробности: https://externals.io/message/118991
— Nov 24: PHP 8.2.0RC7
— Dec 8: PHP 8.2.0
— Dec 15: PHP 8.2.1RC1
— Jan 5: PHP 8.2.1 (in sync with 8.0/8.1)
— Nov 24: PHP 8.2.0RC7
— Dec 8: PHP 8.2.0
— Dec 15: PHP 8.2.1RC1
— Jan 5: PHP 8.2.1 (in sync with 8.0/8.1)
👍6
Люблю фантастику про путешествия во времени.
Знаете сюжет аля «эфект бабочки»? Герой попадает в прошлое, что-то меняет, возвращается — и тут всё тоже изменилось.
Представил себя: попадаю в прошлое, что-то меняю, возвращаюсь, открываю рабочий проект, а код на языке P++ 🤯🧐
Знаете сюжет аля «эфект бабочки»? Герой попадает в прошлое, что-то меняет, возвращается — и тут всё тоже изменилось.
Представил себя: попадаю в прошлое, что-то меняю, возвращаюсь, открываю рабочий проект, а код на языке P++ 🤯🧐
😱9😁6🔥1🖕1
Используете утилиту deptrac для отслеживания внутренних зависимостей в проекте? Даже если не используете, почитайте эту статью на Хабре, полезно: https://habr.com/ru/company/ispring/blog/560074/
Хабр
Модульный PHP монолит: рецепт приготовления
Статья написана по мотивам моего доклада на митапе . В нем я рассказываю историю того, как мы взяли и не распилили монолит на микросервисы, и что сделали вместо этого. На тот момент наша команда...
👍14🔥2
Недавно в одном из проектов заметил пакет spatie/data-transfer-object, подумал, что надо бы его посмотреть, опробовать.
Не успел опробовать. Пакет уже deprecated: https://stitcher.io/blog/deprecating-spatie-dto?utm_source=telegram&utm_medium=social&utm_campaign=nedavno-v-odnom-iz-proektov-zametil-pake&utm_content=65385406
Основная причина устаревания пакета — это развитие типизированных свойств в самом PHP.
Не успел опробовать. Пакет уже deprecated: https://stitcher.io/blog/deprecating-spatie-dto?utm_source=telegram&utm_medium=social&utm_campaign=nedavno-v-odnom-iz-proektov-zametil-pake&utm_content=65385406
Основная причина устаревания пакета — это развитие типизированных свойств в самом PHP.
🤓5👍3🤡2
Сегодня прошла Ask me Anything (AMA) чат-сессия с командой PhpStorm на Reddit: https://www.reddit.com/r/PHP/comments/ys1mc8/ama_with_the_phpstorm_team_from_jetbrains_on/
Reddit
From the PHP community on Reddit: AMA with the PhpStorm team from JetBrains, on November 15, at 12:30 pm UTC
Explore this post and more from the PHP community
👍4
Набор правил Rector для Laravel: https://github.com/driftingly/rector-laravel/blob/main/docs/rector_rules_overview.md?utm_source=telegram&utm_medium=social&utm_campaign=nabor-pravil-rector-dlya-laravel-https&utm_content=65392939
Даже если не пользуетесь Rector, посмотрите эту ссылку в любом случае! Там есть интересные для Laravel проектов примеры рефакторинга (diffs).
Даже если не пользуетесь Rector, посмотрите эту ссылку в любом случае! Там есть интересные для Laravel проектов примеры рефакторинга (diffs).
GitHub
rector-laravel/docs/rector_rules_overview.md at main · driftingly/rector-laravel
Rector upgrades rules for Laravel. Contribute to driftingly/rector-laravel development by creating an account on GitHub.
👍12🔥1
На следующей неделе буду на PHP Russia 2022, подходите пообщаться. Также есть промокод на билеты -7%: phpspeakers
Forwarded from PHP Russia Channel
Об интеграции PHP-проекта с 1С расскажет Пётр Мязин
⠀
📋 https://bx.vc/v3o5ui
⠀
Знали ли вы, что в платформе 1С есть встроенное REST API по стандарту OData? А оно есть!
⠀
Без единой строчки кода на 1С можно:
- читать или записывать практически любые данные в 1С,
- создавать документы из PHP-приложения (например, выставлять счета клиенту).
⠀
Добавив немного кода на 1С, получаем:
- 1С как headless-систему с готовой бизнес-логикой,
- 1С как сервис для формирования PDF- и Excel-документов по заранее заданным шаблонам,
- 1С как сервис по отправке юридически значимых электронных документов (в итоге проще, чем писать это с нуля на PHP).
⠀
Как вы поняли, они пишут документооборот на PHP (Laravel) в компании, где активно используется 1С. Петр с радостью поделится их опытом интеграции 1C в PHP-приложение.
⠀
Ждем вас 24 и 25 ноября 🙌
⠀
✅ Программа конференции и расписание здесь - https://bx.vc/h6xoxt
⠀
📋 https://bx.vc/v3o5ui
⠀
Знали ли вы, что в платформе 1С есть встроенное REST API по стандарту OData? А оно есть!
⠀
Без единой строчки кода на 1С можно:
- читать или записывать практически любые данные в 1С,
- создавать документы из PHP-приложения (например, выставлять счета клиенту).
⠀
Добавив немного кода на 1С, получаем:
- 1С как headless-систему с готовой бизнес-логикой,
- 1С как сервис для формирования PDF- и Excel-документов по заранее заданным шаблонам,
- 1С как сервис по отправке юридически значимых электронных документов (в итоге проще, чем писать это с нуля на PHP).
⠀
Как вы поняли, они пишут документооборот на PHP (Laravel) в компании, где активно используется 1С. Петр с радостью поделится их опытом интеграции 1C в PHP-приложение.
⠀
Ждем вас 24 и 25 ноября 🙌
⠀
✅ Программа конференции и расписание здесь - https://bx.vc/h6xoxt
👍12💩5😁1🤮1
Что нашел: Laravan — Ansible Playbooks for Laravel.
Использовать этот Laravan целиком не буду, но очень интересно почитать плейбуки, сравнить со своими, понадёргать полезных фрагментов.
https://github.com/jsphpl/laravan
Использовать этот Laravan целиком не буду, но очень интересно почитать плейбуки, сравнить со своими, понадёргать полезных фрагментов.
https://github.com/jsphpl/laravan
GitHub
GitHub - jsphpl/laravan: Ansible Playbooks for Laravel - machine provisioning and app deployment
Ansible Playbooks for Laravel - machine provisioning and app deployment - jsphpl/laravan
👍5
В Laravel 10 скелет приложения будет содержать типы для параметров и возвращаемых значений функций! Это относится и ко всем генерируемым с помощью make файлам.
Однако свойства классов не будут типизированы.
Подробности: https://laravel-news.com/laravel-10-type-declarations
Однако свойства классов не будут типизированы.
Подробности: https://laravel-news.com/laravel-10-type-declarations
Laravel News
Laravel 10 Application Skeleton Code Will Have Native Type Declarations - Laravel News
Laravel 10 will use native PHP type declarations across any generated code that exists in application code.
👍10
— Привет!
(проходит минута)
— Не занят?
(проходит две минуты)
— Можно вопрос?
Если этот фрагмент переписки до боли знаком, перешли своему коллеге короткое видео (53сек): https://youtu.be/E1MWhW219Rg
(проходит минута)
— Не занят?
(проходит две минуты)
— Можно вопрос?
Если этот фрагмент переписки до боли знаком, перешли своему коллеге короткое видео (53сек): https://youtu.be/E1MWhW219Rg
YouTube
Цифровой этикет: нужно ли здороваться в рабочих чатах
Фрагмент корпоративного тренинга.
Заказывайте такое в свою компанию: maxim.ilyahov@yandex.ru
Заказывайте такое в свою компанию: maxim.ilyahov@yandex.ru
😁12🔥2