#дайджест новостей по PHP за неделю:
🔎PHP 8.4.0 RC 1 теперь доступен для тестирования — Команда PHP рада объявить о выпуске PHP 8.4.0, RC 1. Это первый релиз-кандидат, продолжающий цикл выпуска PHP 8.4, примерный план которого указан в PHP Wiki.
🔎Выпущены PHP 8.1.30, PHP 8.2.24 и PHP 8.3.12 — Команда разработчиков PHP объявляет о скором выходе PHP 8.1.30, PHP 8.2.24 и PHP 8.3.12. Это релиз безопасности.
🔎Laravel MongoDB выпускает версию 5.0
🔎Выпущен CakePHP 4.5.7 — Улучшения: Добавлены аннотации для mixin и template в классы Association. Исправление того, что BehaviorRegistry::unload() не отсоединял методы camelCase.
🔎Неделя Symfony #926 (23-29 сентября 2024 года) — На этой неделе в грядущей версии Symfony 7.2 были добавлены такие новые возможности, как поддержка определения доверенных хостов и заголовков с помощью env vars, улучшение команды debug:asset-mapper для поиска и фильтрации активов, а также разрешение парсерам запросов возвращать несколько RemoteEvent в веб-хуках.
🔎PHP 8.4.0 RC 1 теперь доступен для тестирования — Команда PHP рада объявить о выпуске PHP 8.4.0, RC 1. Это первый релиз-кандидат, продолжающий цикл выпуска PHP 8.4, примерный план которого указан в PHP Wiki.
🔎Выпущены PHP 8.1.30, PHP 8.2.24 и PHP 8.3.12 — Команда разработчиков PHP объявляет о скором выходе PHP 8.1.30, PHP 8.2.24 и PHP 8.3.12. Это релиз безопасности.
🔎Laravel MongoDB выпускает версию 5.0
🔎Выпущен CakePHP 4.5.7 — Улучшения: Добавлены аннотации для mixin и template в классы Association. Исправление того, что BehaviorRegistry::unload() не отсоединял методы camelCase.
🔎Неделя Symfony #926 (23-29 сентября 2024 года) — На этой неделе в грядущей версии Symfony 7.2 были добавлены такие новые возможности, как поддержка определения доверенных хостов и заголовков с помощью env vars, улучшение команды debug:asset-mapper для поиска и фильтрации активов, а также разрешение парсерам запросов возвращать несколько RemoteEvent в веб-хуках.
👍2
Лучшие практики структурирования веб-проектов на PHP
Статья описывает основные правила и рекомендации, которые следует учитывать при планировании нового веб-проекта на PHP, чтобы обеспечить его успешное выполнение.
Определение целей и требований проекта — важно четко определить задачи и ожидания для предотвращения «раздувания» проекта и соблюдения сроков.
Выбор подходящего PHP-фреймворка или подхода — выбор между использованием фреймворков (например, Laravel, Symfony) и чистого PHP влияет на масштабируемость, безопасность и удобство поддержки.
Продуманное проектирование структуры базы данных — правильная схема базы данных обеспечивает эффективное управление данными.
Планирование безопасности с самого начала — защита проекта от уязвимостей, таких как SQL-инъекции и утечки данных, обязательна для безопасности пользователей и проекта.
Создание модульной и масштабируемой архитектуры — важно обеспечить простоту обновлений, поддержки и расширений по мере роста проекта.
Оптимизация производительности на ранних этапах — улучшение скорости загрузки и производительности через использование кэша, оптимизацию запросов SQL и других техник.
Использование системы контроля версий и автоматизированного развертывания — это помогает в совместной работе над проектом, отслеживании ошибок и быстром выпуске обновлений.
Статья описывает основные правила и рекомендации, которые следует учитывать при планировании нового веб-проекта на PHP, чтобы обеспечить его успешное выполнение.
Определение целей и требований проекта — важно четко определить задачи и ожидания для предотвращения «раздувания» проекта и соблюдения сроков.
Выбор подходящего PHP-фреймворка или подхода — выбор между использованием фреймворков (например, Laravel, Symfony) и чистого PHP влияет на масштабируемость, безопасность и удобство поддержки.
Продуманное проектирование структуры базы данных — правильная схема базы данных обеспечивает эффективное управление данными.
Планирование безопасности с самого начала — защита проекта от уязвимостей, таких как SQL-инъекции и утечки данных, обязательна для безопасности пользователей и проекта.
Создание модульной и масштабируемой архитектуры — важно обеспечить простоту обновлений, поддержки и расширений по мере роста проекта.
Оптимизация производительности на ранних этапах — улучшение скорости загрузки и производительности через использование кэша, оптимизацию запросов SQL и других техник.
Использование системы контроля версий и автоматизированного развертывания — это помогает в совместной работе над проектом, отслеживании ошибок и быстром выпуске обновлений.
DEV Community
Best Practices for Structuring Your PHP Web Project
When planning a new PHP web project, it’s important to consider both the technical and strategic...
👍3
PHP и работа с базами данных: как выбрать и использовать ORM для максимальной производительности
ORM (Object-Relational Mapping) — это технология, которая связывает реляционные базы данных с объектно-ориентированными языками программирования. ORM упрощает сохранение и извлечение данных, автоматизируя преобразование между объектами и таблицами баз данных. В основе ORM лежит соответствие таблиц и их полей классам и свойствам объектов.
Примеры популярных ORM-библиотек для PHP включают Doctrine, Eloquent и Propel. Каждая библиотека имеет свои особенности: Doctrine поддерживает гибкие форматы отображения и транзакции, Eloquent ориентирован на удобство использования в Laravel, а Propel фокусируется на производительности.
Статья также рассматривает два шаблона проектирования ORM: Active Record (модель тесно связана с записью в БД) и Data Mapper (модель не связана с местом сохранения данных). Выбор между ними зависит от сложности проекта и требований к архитектуре.
ORM (Object-Relational Mapping) — это технология, которая связывает реляционные базы данных с объектно-ориентированными языками программирования. ORM упрощает сохранение и извлечение данных, автоматизируя преобразование между объектами и таблицами баз данных. В основе ORM лежит соответствие таблиц и их полей классам и свойствам объектов.
Примеры популярных ORM-библиотек для PHP включают Doctrine, Eloquent и Propel. Каждая библиотека имеет свои особенности: Doctrine поддерживает гибкие форматы отображения и транзакции, Eloquent ориентирован на удобство использования в Laravel, а Propel фокусируется на производительности.
Статья также рассматривает два шаблона проектирования ORM: Active Record (модель тесно связана с записью в БД) и Data Mapper (модель не связана с местом сохранения данных). Выбор между ними зависит от сложности проекта и требований к архитектуре.
Хабр
PHP и работа с базами данных: как выбрать и использовать ORM для максимальной производительности
ORM (Object-Relational Mapping, рус. Объектно-реляционное отображение) — это технология, которая связывает базы данных с концепциями объектно-ориентированных языков программирования, создавая...
❤1👍1😁1🥱1
Опишите три основных типа ошибок в PHP
В PHP ошибки делятся на три основных типа:
Уведомления (Notices):
Уведомления — это наименее серьезный тип ошибок.
Они указывают на некритические проблемы, которые могут повлиять на функциональность сценария, но не обязательно приведут к его остановке.
Например, попытка доступа к неопределенной переменной или использование неопределенного индекса в массиве вызывает уведомление.
Уведомления часто полезны для выявления потенциальных ошибок или улучшений в коде.
Предупреждения (Warnings):
Предупреждения более серьезны, чем уведомления, но менее критичны, чем фатальные ошибки.
Они указывают на проблемы, которые могут потенциально вызвать проблемы, но не приводят к остановке выполнения сценария.
Например, попытка включить файл, который не существует, или использование устаревшей функции вызывает предупреждение.
Разработчики должны обращать внимание на предупреждения, так как они могут указывать на проблемы, требующие внимания.
Фатальные ошибки (Fatal Errors):
Фатальные ошибки — самый серьезный тип ошибок в PHP.
Они приводят к завершению выполнения сценария, и сценарий не может продолжить работу после обнаружения фатальной ошибки.
Примеры фатальных ошибок включают вызов неопределенной функции, превышение лимита памяти или попытку повторного объявления класса.
Фатальные ошибки должны немедленно устраняться, так как они препятствуют нормальной работе сценария.
Обработка ошибок:
Для обработки ошибок в PHP разработчики могут использовать функции обработки ошибок, такие как set_error_handler() для определения пользовательской обработки ошибок, error_reporting() для установки уровня отчетности об ошибках, а также блоки try, catch и finally для обработки исключений в PHP 7 и более поздних версиях.
#вопросы_с_собеседований
В PHP ошибки делятся на три основных типа:
Уведомления (Notices):
Уведомления — это наименее серьезный тип ошибок.
Они указывают на некритические проблемы, которые могут повлиять на функциональность сценария, но не обязательно приведут к его остановке.
Например, попытка доступа к неопределенной переменной или использование неопределенного индекса в массиве вызывает уведомление.
Уведомления часто полезны для выявления потенциальных ошибок или улучшений в коде.
Предупреждения (Warnings):
Предупреждения более серьезны, чем уведомления, но менее критичны, чем фатальные ошибки.
Они указывают на проблемы, которые могут потенциально вызвать проблемы, но не приводят к остановке выполнения сценария.
Например, попытка включить файл, который не существует, или использование устаревшей функции вызывает предупреждение.
Разработчики должны обращать внимание на предупреждения, так как они могут указывать на проблемы, требующие внимания.
Фатальные ошибки (Fatal Errors):
Фатальные ошибки — самый серьезный тип ошибок в PHP.
Они приводят к завершению выполнения сценария, и сценарий не может продолжить работу после обнаружения фатальной ошибки.
Примеры фатальных ошибок включают вызов неопределенной функции, превышение лимита памяти или попытку повторного объявления класса.
Фатальные ошибки должны немедленно устраняться, так как они препятствуют нормальной работе сценария.
Обработка ошибок:
Для обработки ошибок в PHP разработчики могут использовать функции обработки ошибок, такие как set_error_handler() для определения пользовательской обработки ошибок, error_reporting() для установки уровня отчетности об ошибках, а также блоки try, catch и finally для обработки исключений в PHP 7 и более поздних версиях.
#вопросы_с_собеседований
👏3👍1
PHP 8.4 Release Candidate 1 уже здесь
Команда PHP объявила о выпуске первого релиз-кандидата PHP 8.4! Хотя до выхода общедоступной версии 8.4.0 еще около двух месяцев (ожидается 21 ноября), вы можете начать подготовку к PHP 8.4 уже сейчас. Ознакомьтесь с новыми функциями, путем обновления и ключевыми датами, чтобы быть уверенными в своей готовности.
Команда PHP объявила о выпуске первого релиз-кандидата PHP 8.4! Хотя до выхода общедоступной версии 8.4.0 еще около двух месяцев (ожидается 21 ноября), вы можете начать подготовку к PHP 8.4 уже сейчас. Ознакомьтесь с новыми функциями, путем обновления и ключевыми датами, чтобы быть уверенными в своей готовности.
Laravel News
PHP 8.4 Release Candidate 1 is here - Laravel News
The PHP team announced the release of the first PHP 8.4 release candidate! Learn about the upcoming features available in the next version of PHP 8.
👍4
🧑💻 Статьи для IT: как объяснять и распространять значимые идеи
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
👍2
Разблокировка производительности ORM: Важнейшая роль моделей чтения
Статья обсуждает проблемы производительности ORM (Object-Relational Mapper) при чтении больших объёмов данных из базы данных, подчеркивая важность хорошего понимания инструментов, которые мы используем.
Статья обсуждает проблемы производительности ORM (Object-Relational Mapper) при чтении больших объёмов данных из базы данных, подчеркивая важность хорошего понимания инструментов, которые мы используем.
Kamil Ruczyński
Unlocking ORM Performance - The Essential Role of Read Models
ORMs are useful tools that help us save our objects to the database. However, there are some pitfalls, so it is important to know the tools we use. In this article, I want to focus on the poor performance of reading a lot of data using ORMs.
👍5
Привет, друзья! 👋
Мы готовим статью о распространенных ошибках в карьере программиста и хотели бы услышать ваше мнение! Поделитесь своими мыслями и опытом, и самые полезные советы мы включим в нашу статью. Вот несколько вопросов для вас:
🤔 С какими ошибками в своей карьере программиста вы сталкивались? Как вы их преодолели?
📚 Какие советы вы бы дали начинающим разработчикам, чтобы избежать распространенных ловушек в программировании?
🖥️ Что, по вашему мнению, важно учитывать при планировании своей карьеры в IT, чтобы минимизировать сожаления в будущем?
Спасибо за ваше участие! 🚀
Мы готовим статью о распространенных ошибках в карьере программиста и хотели бы услышать ваше мнение! Поделитесь своими мыслями и опытом, и самые полезные советы мы включим в нашу статью. Вот несколько вопросов для вас:
🤔 С какими ошибками в своей карьере программиста вы сталкивались? Как вы их преодолели?
📚 Какие советы вы бы дали начинающим разработчикам, чтобы избежать распространенных ловушек в программировании?
🖥️ Что, по вашему мнению, важно учитывать при планировании своей карьеры в IT, чтобы минимизировать сожаления в будущем?
Спасибо за ваше участие! 🚀
👍4
FreeScout
Бесплатная help desk на собственном хостинге и общий почтовый ящик (альтернатива Zendesk / Help Scout).
Бесплатная help desk на собственном хостинге и общий почтовый ящик (альтернатива Zendesk / Help Scout).
GitHub
GitHub - freescout-help-desk/freescout: FreeScout — Free self-hosted help desk & shared mailbox (Zendesk / Help Scout alternative)
FreeScout — Free self-hosted help desk & shared mailbox (Zendesk / Help Scout alternative) - freescout-help-desk/freescout
👾3😁2👍1
Что делает «@» в PHP?
В PHP символ «@» используется как оператор управления ошибками. Если «@» предшествует выражению или оператору, он подавляет любые сообщения об ошибках или предупреждения, которые обычно генерируются этим выражением. Его часто называют «оператором тишины».
Например, рассмотрим следующий код:
$result = @file_get_contents('nonexistentfile.txt');
В данном случае, если файл nonexistentfile.txt не существует, функция file_get_contents обычно вызвала бы предупреждение. Однако, предварив его символом «@», предупреждение подавляется. Переменная $result будет содержать false, и сообщение об ошибке не будет отображено.
Хотя оператор управления ошибками может быть удобен в определенных ситуациях, его использование следует осуществлять с осторожностью. Подавление ошибок может затруднить диагностику и устранение проблем в коде, так как вы не получите обратную связь о возможных проблемах. Общепринятым подходом является явная обработка ошибок с использованием блоков try-catch или других соответствующих механизмов обработки ошибок, а не полагаться на «@» для подавления ошибок.
#вопросы_с_собеседований
В PHP символ «@» используется как оператор управления ошибками. Если «@» предшествует выражению или оператору, он подавляет любые сообщения об ошибках или предупреждения, которые обычно генерируются этим выражением. Его часто называют «оператором тишины».
Например, рассмотрим следующий код:
$result = @file_get_contents('nonexistentfile.txt');
В данном случае, если файл nonexistentfile.txt не существует, функция file_get_contents обычно вызвала бы предупреждение. Однако, предварив его символом «@», предупреждение подавляется. Переменная $result будет содержать false, и сообщение об ошибке не будет отображено.
Хотя оператор управления ошибками может быть удобен в определенных ситуациях, его использование следует осуществлять с осторожностью. Подавление ошибок может затруднить диагностику и устранение проблем в коде, так как вы не получите обратную связь о возможных проблемах. Общепринятым подходом является явная обработка ошибок с использованием блоков try-catch или других соответствующих механизмов обработки ошибок, а не полагаться на «@» для подавления ошибок.
#вопросы_с_собеседований
😁8👍6👾4
Изучение ключевых обновлений в PHP 8.4
В PHP 8.4 появится множество новых функций и улучшений, которые призваны улучшить работу разработчиков, оптимизировать производительность и упростить практику написания кода.
В PHP 8.4 появится множество новых функций и улучшений, которые призваны улучшить работу разработчиков, оптимизировать производительность и упростить практику написания кода.
DEV Community
Exploring the Key Updates in PHP 8.4
PHP 8.4 is set to bring a variety of new features and enhancements that aim to improve the developer...
🥰1👏1
Как встроить систему приглашений в свое приложение с помощью Laravel и GraphQL
Здесь рассказано, как встроить систему приглашений в приложение с помощью Laravel и GraphQL. Эту задачу можно выполнить не только по привычным каналам вроде email, но и через SMS API. Разберется процесс интеграции от создания модели на Laravel и работы с GraphQL до отправки сообщений через API Exolve.
Здесь рассказано, как встроить систему приглашений в приложение с помощью Laravel и GraphQL. Эту задачу можно выполнить не только по привычным каналам вроде email, но и через SMS API. Разберется процесс интеграции от создания модели на Laravel и работы с GraphQL до отправки сообщений через API Exolve.
Хабр
Как встроить систему приглашений в свое приложение с помощью Laravel и GraphQL
Привет, Хабр! Меня зовут Екатерина Саяпина, я Product Owner личного кабинета платформы МТС Exolve. В этом посте расскажу, как встроить систему приглашений в приложение с помощью Laravel и GraphQL. Эту...
👏3👾2🌚1
Вопрос к сеньорам, в какой момент вы узнали, что достигли этого уровня? Как это произошло?⬇️⬇️⬇️
😁13🌚2
💡8 ключевых концепций в предметно-ориентированном проектировании (Domain-driven design, DDD): на заметку разработчику
👉 Источник
👉 Источник
🔥9
Forwarded from Библиотека программиста | программирование, кодинг, разработка
🍇 Подборка лучших статей «Библиотеки программиста» за сентябрь: сохраняй в заметки, чтобы не пропустить #самыйсок
😮 SQL: от Тетриса до ИИ — неожиданные возможности языка баз данных
⚛️🔄 Улучшенная обработка асинхронных операций в React 19
🔟🏩 ТОП-10 перспективных студий разработки: лучшие компании для вашего карьерного роста
🏗 3 основных шаблона событийно-ориентированной архитектуры
🐘🔧 Расширение pg_variables: мощная альтернатива временным таблицам в PostgreSQL
👍 25 полезных HTML тегов, элементов и атрибутов, которые должен знать каждый фронтендер
🚀 Продвинутый TypeScript: 15 приемов для создания надежного кода
🛠 Сага: эффективный шаблон микросервисной архитектуры
🏃 Самоучитель по Go для начинающих. Часть 16. Тестирование кода и его виды. Table-driven подход. Параллельные тесты
💡🎨 Источники вдохновения для UI/UX-дизайнеров и фронтендеров: 50 полезных ресурсов
😮 SQL: от Тетриса до ИИ — неожиданные возможности языка баз данных
⚛️🔄 Улучшенная обработка асинхронных операций в React 19
🔟🏩 ТОП-10 перспективных студий разработки: лучшие компании для вашего карьерного роста
🏗 3 основных шаблона событийно-ориентированной архитектуры
🐘🔧 Расширение pg_variables: мощная альтернатива временным таблицам в PostgreSQL
👍 25 полезных HTML тегов, элементов и атрибутов, которые должен знать каждый фронтендер
🚀 Продвинутый TypeScript: 15 приемов для создания надежного кода
🛠 Сага: эффективный шаблон микросервисной архитектуры
🏃 Самоучитель по Go для начинающих. Часть 16. Тестирование кода и его виды. Table-driven подход. Параллельные тесты
💡🎨 Источники вдохновения для UI/UX-дизайнеров и фронтендеров: 50 полезных ресурсов
🤩1
Опрос «Как вы учитесь с помощью телефона: поделитесь своим опытом!»
Мы хотим стать ещё круче, и для этого нужно узнать, как вы учитесь!
Заполните мини-анкету о том, как вы используете мобильные приложения для прокачки знаний.
⏳ Займёт всего 5 минут — как раз успеете за чашкой кофе! А за ваш ценный вклад мы дарим 15% скидку на все курсы https://proglib.academy/ 🎁
Дорогие подписчики, мы на миссии улучшений, и вы — наш ключ! 🔑
Мы хотим стать ещё круче, и для этого нужно узнать, как вы учитесь!
Заполните мини-анкету о том, как вы используете мобильные приложения для прокачки знаний.
⏳ Займёт всего 5 минут — как раз успеете за чашкой кофе! А за ваш ценный вклад мы дарим 15% скидку на все курсы https://proglib.academy/ 🎁
👍1