Еще один #дайджест новостей по PHP за неделю:
🔎PhpStorm 2023.2 Beta
🔎Неделя Symfony # 864 (17–23 июля 2023 г.)
🔎Взгляд на то, что будет в Laravel 11
🔎Laravel Folio — это новая автоматическая система маршрутизации на основе файлов и каталогов
🔎PHP 8.3.0 Beta 1 доступна для тестирования
🔎PhpStorm 2023.2 Beta
🔎Неделя Symfony # 864 (17–23 июля 2023 г.)
🔎Взгляд на то, что будет в Laravel 11
🔎Laravel Folio — это новая автоматическая система маршрутизации на основе файлов и каталогов
🔎PHP 8.3.0 Beta 1 доступна для тестирования
👍5
Курс «Алгоритмы и структуры данных» для разработчиков, которые хотят подготовиться к собеседованию в технологическую компанию или продвинуться по карьере.
🔹Подробная программа – https://proglib.io/w/acc674d9
▪️ бессрочный доступ
▪️ 47 видеолекций
▪️ 150 практических заданий
▪️ бессрочная поддержка в чате студентов
▪️развернутая обратная связь по всем домашним заданиям
Стоимость со скидкой 33% всего 24 190 рублей 🫶 Актуально до 31 июля.
НАЧАТЬ С ДЕМО-ДОСТУПА
Приходите, оставляйте заявку на пробную версию и знакомьтесь с самым харизматичным спикером – Степаном Мацкевичем. Он определенно получил приз зрительских симпатий от наших студентов🥰
🔹Подробная программа – https://proglib.io/w/acc674d9
▪️ бессрочный доступ
▪️ 47 видеолекций
▪️ 150 практических заданий
▪️ бессрочная поддержка в чате студентов
▪️развернутая обратная связь по всем домашним заданиям
Стоимость со скидкой 33% всего 24 190 рублей 🫶 Актуально до 31 июля.
НАЧАТЬ С ДЕМО-ДОСТУПА
Приходите, оставляйте заявку на пробную версию и знакомьтесь с самым харизматичным спикером – Степаном Мацкевичем. Он определенно получил приз зрительских симпатий от наших студентов🥰
«распараллелить» php и сохранить его простым
Здесь рассказывается про концепцию «параллельных страниц», с помощью которой можно сделать подобие параллелизма без применения сторонних библиотек(кроме cURL)
Здесь рассказывается про концепцию «параллельных страниц», с помощью которой можно сделать подобие параллелизма без применения сторонних библиотек(кроме cURL)
Nick Gavalas’ personal blog
“parallelizing” php and keeping it simple
There are many problems to which “If it’s silly and it works, it isn’t silly” might apply. These sorts of problems come up surprisingly often in software engineering. It’s tempting to reach for complex solutions and we need to constantly remind ourselves…
👍4❤1🌚1🌭1
10 идей по разработке на Laravel для улучшения навыков
В статье перечислено 10 заданий или проектов, которые можно выполнить, чтобы продемонстрировать свои навыки в работе с Laravel. Эти задания включают в себя разработку API, приложения CRUD, Система аутентификации пользователей и другими типичными функциональностями, которые могут встретиться в реальных проектах.
В статье перечислено 10 заданий или проектов, которые можно выполнить, чтобы продемонстрировать свои навыки в работе с Laravel. Эти задания включают в себя разработку API, приложения CRUD, Система аутентификации пользователей и другими типичными функциональностями, которые могут встретиться в реальных проектах.
❤8🌭2
Разница между внедрением службы непосредственно во view и внедрением служб через определение роута
Статья рассматривает разницу между внедрением сервиса прямо в представление (view) и внедрением сервисов в представление через определение маршрута.
Внедрение сервиса прямо в представление означает, что сервис инстанцируется и используется непосредственно внутри представления. Это означает, что сервис доступен только этому представлению и не может быть использован другими компонентами приложения.
Внедрение сервисов через определение маршрута подразумевает добавление сервисов в контекст маршрута, который затем может быть использован представлением, связанным с этим маршрутом. Это означает, что сервисы могут быть использованы не только в представлении, но и в других компонентах, связанных с этим маршрутом.
Автор заканчивает тем, что в большинстве случаев лучше использовать второй вариант, однако @inject можно использовать тогда, когда вы уверены в том, что сервис будет использоваться только в этом view, чтобы не усложнять код приложения.
Статья рассматривает разницу между внедрением сервиса прямо в представление (view) и внедрением сервисов в представление через определение маршрута.
Внедрение сервиса прямо в представление означает, что сервис инстанцируется и используется непосредственно внутри представления. Это означает, что сервис доступен только этому представлению и не может быть использован другими компонентами приложения.
Внедрение сервисов через определение маршрута подразумевает добавление сервисов в контекст маршрута, который затем может быть использован представлением, связанным с этим маршрутом. Это означает, что сервисы могут быть использованы не только в представлении, но и в других компонентах, связанных с этим маршрутом.
Автор заканчивает тем, что в большинстве случаев лучше использовать второй вариант, однако @inject можно использовать тогда, когда вы уверены в том, что сервис будет использоваться только в этом view, чтобы не усложнять код приложения.
❤3👍3🔥1
5 недооцененных особенностей Filament
Недавно у нас был пост, где рассказывается про FilamentPHP. А сегодня мы рассмотрим 5 фишек ,которые многие банально не замечают и не знают, тогда как они могут серьезно возвысить Filament над конкурентами.
Недавно у нас был пост, где рассказывается про FilamentPHP. А сегодня мы рассмотрим 5 фишек ,которые многие банально не замечают и не знают, тогда как они могут серьезно возвысить Filament над конкурентами.
Telegram
Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter
FilamentPHP: первый взгляд
Статья обсуждает новый пакет под названием FilamentPHP, который создан для разработки веб-приложений на базе Laravel. По сути, это фреймворк внутри фреймворка, состоящий из нескольких частей: построителя форм, построителя таблиц…
Статья обсуждает новый пакет под названием FilamentPHP, который создан для разработки веб-приложений на базе Laravel. По сути, это фреймворк внутри фреймворка, состоящий из нескольких частей: построителя форм, построителя таблиц…
❤6
Что такое Service Layer и где его следует применять?
Service Layer - это слой в архитектуре программного обеспечения, который расположен между слоем представления (например, пользовательским интерфейсом) и слоем данных (например, базой данных). Он обеспечивает необходимую логику и бизнес-правила для работы приложения.
Service Layer можно применять в различных типах приложений, в том числе и в веб-приложениях, написанных на PHP.
Вот несколько примеров, когда имеет смысл использовать Service Layer:
1. Обработка бизнес-логики: Service Layer позволяет выделить и объединить логику, связанную с бизнес-процессами, в отдельный слой. Это помогает упростить и структурировать код, а также повысить его переиспользуемость.
2. Взаимодействие со слоем данных: Service Layer может служить посредником между представлением и слоем данных, скрывая сложность взаимодействия с базой данных или другими источниками данных. Он может выполнять запросы к базе данных, обрабатывать полученные данные и передавать их представлению.
3. Проверка прав доступа: Service Layer часто используется для обеспечения безопасности и проверки прав доступа в приложении. Он может содержать логику аутентификации пользователей, авторизации, а также проводить проверки на соответствие правилам и ограничениям доступа.
4. Координация процессов: Service Layer может брать на себя координацию и управление выполнением различных процессов в приложении, например, обработку заказов, рассылку уведомлений и т. д. Он может вызывать соответствующие методы и сервисы для выполнения необходимых действий.
Подробная статья на эту тему на Хабре
#вопросы_с_собеседований
Service Layer - это слой в архитектуре программного обеспечения, который расположен между слоем представления (например, пользовательским интерфейсом) и слоем данных (например, базой данных). Он обеспечивает необходимую логику и бизнес-правила для работы приложения.
Service Layer можно применять в различных типах приложений, в том числе и в веб-приложениях, написанных на PHP.
Вот несколько примеров, когда имеет смысл использовать Service Layer:
1. Обработка бизнес-логики: Service Layer позволяет выделить и объединить логику, связанную с бизнес-процессами, в отдельный слой. Это помогает упростить и структурировать код, а также повысить его переиспользуемость.
2. Взаимодействие со слоем данных: Service Layer может служить посредником между представлением и слоем данных, скрывая сложность взаимодействия с базой данных или другими источниками данных. Он может выполнять запросы к базе данных, обрабатывать полученные данные и передавать их представлению.
3. Проверка прав доступа: Service Layer часто используется для обеспечения безопасности и проверки прав доступа в приложении. Он может содержать логику аутентификации пользователей, авторизации, а также проводить проверки на соответствие правилам и ограничениям доступа.
4. Координация процессов: Service Layer может брать на себя координацию и управление выполнением различных процессов в приложении, например, обработку заказов, рассылку уведомлений и т. д. Он может вызывать соответствующие методы и сервисы для выполнения необходимых действий.
Подробная статья на эту тему на Хабре
#вопросы_с_собеседований
❤8👍1
Преобразование PHP-проекта в Android-приложение
Статья подробно описывает процесс создания простого приложения Android, которое использует HopWeb для загрузки стороннего веб-приложения PHP. Автор объясняет, как настроить проект Android, как добавить HopWeb в макет приложения и как загрузить веб-приложение PHP с помощью HopWeb.
Основная часть статьи включает примеры, которые иллюстрируют каждый шаг процесса конвертации в подробностях.
Статья подробно описывает процесс создания простого приложения Android, которое использует HopWeb для загрузки стороннего веб-приложения PHP. Автор объясняет, как настроить проект Android, как добавить HopWeb в макет приложения и как загрузить веб-приложение PHP с помощью HopWeb.
Основная часть статьи включает примеры, которые иллюстрируют каждый шаг процесса конвертации в подробностях.
DEV Community
Convert PHP Project to Android App
Before Beginning PHP is an excellent choice for beginners to learn about development of...
👍6❤1🌚1
Forwarded from Библиотека программиста | программирование, кодинг, разработка
📉 Cитуация на рынке труда в IT: зарплаты и куда все катится в 2023 году
Спойлер: все неоднозначно, сложно и, местами, — плачевно. По крайней мере, об этом говорит статистика за первое полугодие 2023 года.
🔗 Основной сайт
🔗 Зеркало
Спойлер: все неоднозначно, сложно и, местами, — плачевно. По крайней мере, об этом говорит статистика за первое полугодие 2023 года.
🔗 Основной сайт
🔗 Зеркало
🔥2❤1👍1
Rector в Легаси-проектах
Здесь описывается, как использовать Rector для максимального охвата типов устаревшего проекта. Чем больше типов определено в кодовой базе, тем лучше будут результаты вашей IDE или инструментов статического анализа.
Тут рассказано о том, как использовать инструмент Rector для упрощения обслуживания и обновления старых проектов. Rector - это инструмент на PHP, который автоматически анализирует код и предлагает исправления, чтобы сделать его более современным и поддерживаемым.
Здесь описывается, как использовать Rector для максимального охвата типов устаревшего проекта. Чем больше типов определено в кодовой базе, тем лучше будут результаты вашей IDE или инструментов статического анализа.
Тут рассказано о том, как использовать инструмент Rector для упрощения обслуживания и обновления старых проектов. Rector - это инструмент на PHP, который автоматически анализирует код и предлагает исправления, чтобы сделать его более современным и поддерживаемым.
My developer experience
Rector in legacy projects
After collecting some experience with introducing Rector to legacy projects, I want to write down what I have learned along the way.
❤4
Raven — Как протестировать документацию и поведение вашего API.
Эта библиотека была написана, чтобы упростить тестирование документации OpenAPI. Это также позволяет проверить, совместима ли реализация вашего кода с этой документацией.
Эта библиотека была написана, чтобы упростить тестирование документации OpenAPI. Это также позволяет проверить, совместима ли реализация вашего кода с этой документацией.
GitHub
GitHub - CHStudio/Raven: Testing your OpenApi documentation and your code easily.
Testing your OpenApi documentation and your code easily. - CHStudio/Raven
👍2❤1
Forwarded from PHP jobs — вакансии по PHP, Symfony, Laravel
#дайджест #phpdevjob
Вакансии недели для Москвы 🚀
PHP-разработчик в Rubix
Москва. Интернет-маркетингом.
Подробнее
Junior PHP в Сеть фитнес-клубов Spirit
Москва. Фитнес-клуб.
Подробнее
Разработчик PHP/Laravel в CQ
Москва. Киберспорт и гейминг.
Подробнее
Web разработчик в Лико-Финанс
Москва. Информационные технологии и экономически эффективные решения.
Подробнее
PHP разработчик middle в Мой Самокат
Москва. Аренда девайсов по системе подписки.
Подробнее
Понравились вакансии?
❤️ — да
🧐 — нет
Вакансии недели для Москвы 🚀
PHP-разработчик в Rubix
Москва. Интернет-маркетингом.
Подробнее
Junior PHP в Сеть фитнес-клубов Spirit
Москва. Фитнес-клуб.
Подробнее
Разработчик PHP/Laravel в CQ
Москва. Киберспорт и гейминг.
Подробнее
Web разработчик в Лико-Финанс
Москва. Информационные технологии и экономически эффективные решения.
Подробнее
PHP разработчик middle в Мой Самокат
Москва. Аренда девайсов по системе подписки.
Подробнее
Понравились вакансии?
❤️ — да
🧐 — нет
hh.ru
Вакансия PHP-разработчик в Москве, работа в компании Rubix (вакансия в архиве c 25 августа 2023)
Зарплата: от 75000 до 100000 ₽. Москва. Требуемый опыт: 1–3 года. Полная занятость. Дата публикации: 22.08.2023.
😁6❤5👍1
#хочу_спросить
Задавайте любые вопросы о программировании и получайте ответы от пользователей. В комментариях под постом укажите #язык, #стек и/или #библиотеку, по которым задаете вопрос.
Задавайте любые вопросы о программировании и получайте ответы от пользователей. В комментариях под постом укажите #язык, #стек и/или #библиотеку, по которым задаете вопрос.
❤2
«Атрибуты PHP настолько потрясающие, что мне просто нужно было добавить сопоставление полей на основе атрибутов в мою ORM.»
Автор статьи подчеркивает удобство и мощь атрибутов в PHP, которые позволяют добавить атрибуты к классам, методам и свойствам в коде.
В частности, он применяет атрибуты в своем ORM для автоматического отображения полей базы данных на свойства объектов. Он объясняет, что благодаря использованию атрибутов, разработчикам не нужно явно указывать сопоставление между полями базы данных и свойствами объектов, что значительно упрощает процесс разработки.
Автор статьи подчеркивает удобство и мощь атрибутов в PHP, которые позволяют добавить атрибуты к классам, методам и свойствам в коде.
В частности, он применяет атрибуты в своем ORM для автоматического отображения полей базы данных на свойства объектов. Он объясняет, что благодаря использованию атрибутов, разработчикам не нужно явно указывать сопоставление между полями базы данных и свойствами объектов, что значительно упрощает процесс разработки.
technex.us
PHP attributes are so awesome I just had to add attribute based field mapping to my ORM
I wrote this post to talk about the architectural decisions I had to make in upgrading my ORM recently to PHP8 as well as the general justification for using an ORM in the first place as a query writer, runner, and object factory and why I consider attrib
❤6🍌3🌭1
Опишите разницу между PHP-FPM и PHP на сокете.
PHP-FPM (FastCGI Process Manager) и PHP на сокете оба являются реализациями интерпретатора PHP, которые могут быть использованы для запуска PHP-скриптов на веб-сервере. Однако они имеют некоторые отличия:
1. Механизм коммуникации:
- PHP-FPM использует протокол FastCGI для взаимодействия с веб-сервером. Веб-сервер передает запросы PHP-скриптам через FastCGI-сокет или доменный сокет. Данные запроса и ответа передаются между веб-сервером и PHP-FPM через эти сокеты.
- PHP на сокете работает непосредственно с сокетом веб-сервера или связанного с веб-сервером процесса. Его основное преимущество состоит в возможности использования низкоуровневых сетевых возможностей PHP, таких как создание собственных серверов, обработка событий и многопоточность. Однако, PHP на сокете менее распространен и требует большего уровня экспертизы для его настройки и использования.
2. Поддержка масштабирования и нагрузки:
- PHP-FPM предоставляет возможность горизонтального масштабирования на основе механизма запуска и управления процессами. PHP-FPM может запускать несколько рабочих процессов, чтобы обрабатывать одновременные запросы параллельно, что помогает улучшить производительность и обслуживаемость веб-приложения.
- PHP на сокете также может быть масштабирован путем запуска нескольких экземпляров PHP-скрипта на разных портах или адресах сокета и балансировки нагрузки между ними с помощью веб-сервера или балансировщика нагрузки. Тем не менее, это требует более сложной настройки и управления со стороны разработчика.
3. Совместимость и распространенность:
- PHP-FPM является более распространенным и широко поддерживаемым решением, которое используется в большинстве современных веб-серверов и платформ для развертывания PHP-приложений. Это документировано и хорошо интегрировано с веб-серверами, такими как Nginx и Apache.
- PHP на сокете менее распространен и часто используется в особых случаях, когда необходима гибкая и настраиваемая работа с сокетами, или когда сценарий требует конкретных возможностей, таких как создание собственного сервера или многопоточность.
#вопросы_с_собеседований
PHP-FPM (FastCGI Process Manager) и PHP на сокете оба являются реализациями интерпретатора PHP, которые могут быть использованы для запуска PHP-скриптов на веб-сервере. Однако они имеют некоторые отличия:
1. Механизм коммуникации:
- PHP-FPM использует протокол FastCGI для взаимодействия с веб-сервером. Веб-сервер передает запросы PHP-скриптам через FastCGI-сокет или доменный сокет. Данные запроса и ответа передаются между веб-сервером и PHP-FPM через эти сокеты.
- PHP на сокете работает непосредственно с сокетом веб-сервера или связанного с веб-сервером процесса. Его основное преимущество состоит в возможности использования низкоуровневых сетевых возможностей PHP, таких как создание собственных серверов, обработка событий и многопоточность. Однако, PHP на сокете менее распространен и требует большего уровня экспертизы для его настройки и использования.
2. Поддержка масштабирования и нагрузки:
- PHP-FPM предоставляет возможность горизонтального масштабирования на основе механизма запуска и управления процессами. PHP-FPM может запускать несколько рабочих процессов, чтобы обрабатывать одновременные запросы параллельно, что помогает улучшить производительность и обслуживаемость веб-приложения.
- PHP на сокете также может быть масштабирован путем запуска нескольких экземпляров PHP-скрипта на разных портах или адресах сокета и балансировки нагрузки между ними с помощью веб-сервера или балансировщика нагрузки. Тем не менее, это требует более сложной настройки и управления со стороны разработчика.
3. Совместимость и распространенность:
- PHP-FPM является более распространенным и широко поддерживаемым решением, которое используется в большинстве современных веб-серверов и платформ для развертывания PHP-приложений. Это документировано и хорошо интегрировано с веб-серверами, такими как Nginx и Apache.
- PHP на сокете менее распространен и часто используется в особых случаях, когда необходима гибкая и настраиваемая работа с сокетами, или когда сценарий требует конкретных возможностей, таких как создание собственного сервера или многопоточность.
#вопросы_с_собеседований
❤8🌭6👍4
❗«Библиотека программиста» в поиске контент-менеджера для ведения телеграм-каналов
Ищем человека, который грамотно пишет, разбирается в контенте и в одной из этих трех тем:
👉Data Science
👉Frontend
👉мобильная разработка
Мы предлагаем частичную занятость и полностью удаленный формат работы — можно совмещать с основной и находиться в любом месте🌴
Подробнее о вакансии и форма для отклика — по ссылке.
Ждем вас в команде!
Ищем человека, который грамотно пишет, разбирается в контенте и в одной из этих трех тем:
👉Data Science
👉Frontend
👉мобильная разработка
Мы предлагаем частичную занятость и полностью удаленный формат работы — можно совмещать с основной и находиться в любом месте🌴
Подробнее о вакансии и форма для отклика — по ссылке.
Ждем вас в команде!
👍2❤1
Как избежать поддержки классов, которыми вы не пользуетесь
Автор рассказывает про свою библиотеку, с помощью которой можно удалить из кодовой базы неиспользуемые классы. Главное преимущество в том, что она может найти классы, которые используются только в тестах, а в приложении нет
Автор рассказывает про свою библиотеку, с помощью которой можно удалить из кодовой базы неиспользуемые классы. Главное преимущество в том, что она может найти классы, которые используются только в тестах, а в приложении нет
Tomasvotruba
How to avoid Maintaining Classes you Don't Use
PHPStan and static analysis help us with detect unused private methods. I also made a package to handle [unused public methods](/blog/can-phpstan-find-dead-public-methods).
But we can do better. When we remove dead parts of our code, we sometime leak classes…
But we can do better. When we remove dead parts of our code, we sometime leak classes…
👍4❤2🤔2🍌2
Статистика версий PHP — июль 2023 г.
Регулярный обзор используемых версий PHP на основе данных, которые клиенты отправляют на packagist.org (например, когда они запускают composer update команду). 68,8% клиентов используют PHP 8.*, а на PHP 7.* приходится 29,7%. Медленный, но хороший рост для PHP 8 по сравнению с прошлым годом, когда он составил 59,7%.
Согласно статистике Remi Repository, которая, вероятно, представляет несколько иной сегмент пользователей, 35% пользователей используют PHP 8.* и 63% используют PHP 7.*.
Регулярный обзор используемых версий PHP на основе данных, которые клиенты отправляют на packagist.org (например, когда они запускают composer update команду). 68,8% клиентов используют PHP 8.*, а на PHP 7.* приходится 29,7%. Медленный, но хороший рост для PHP 8 по сравнению с прошлым годом, когда он составил 59,7%.
Согласно статистике Remi Repository, которая, вероятно, представляет несколько иной сегмент пользователей, 35% пользователей используют PHP 8.* и 63% используют PHP 7.*.
👍6❤1