Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter
11.3K subscribers
1.33K photos
21 videos
26 files
4.03K links
Все самое полезное для пхпшника в одном канале.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/bca892d6

Для обратной связи: @proglibrary_feeedback_bot

РКН: https://gosuslugi.ru/snet/67a5d13cd6fa92100ee6f68b
Download Telegram
Привет, друзья! 👋

Мы хотим обсудить важную тему — токсичность в среде разработчиков и значимость поддержки и наставничества. Нам интересно узнать ваше мнение и опыт! Поделитесь своими мыслями, и самые полезные советы мы включим в нашу статью. Вот несколько вопросов для вас:

🤔 Приходилось ли вам сталкиваться с токсичными коллегами на работе? Как вы справлялись с этой ситуацией?
🌟 Какие качества вы считаете важными для хорошего наставника в IT-сфере?
💡 Какие советы вы бы дали тем, кто хочет создать более поддерживающую и позитивную рабочую атмосферу?
Спасибо за ваше участие! Ваши ответы помогут сделать рабочую среду лучше для всех. 🚀
1
⚙️ Подпишись на нашу еженедельную email-рассылку, чтобы быть в курсе последних открытий и тенденций в мире бэкенда.

В еженедельных письмах ты найдешь:
● Языки программирования и фреймворки для бэкенда
● Архитектура и проектирование серверных приложений
● Базы данных и управление данными
● Безопасность и защита данных
● Облачные технологии и DevOps
● API и интеграции
● Тестирование и отладка
● Инструменты и утилиты для бэкенд-разработчиков
● Лучшие практики и паттерны проектирования

👉Подписаться👈
👍1
💡 Зачем использовать distributed lock: на заметку разработчику

Распределённая блокировка (distributed locking) — это метод координации доступа к общим ресурсам между несколькими процессами или узлами в распределённой системе.

👉 Источник
#дайджест новостей по 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 в веб-хуках.
👍2
Лучшие практики структурирования веб-проектов на PHP

Статья описывает основные правила и рекомендации, которые следует учитывать при планировании нового веб-проекта на PHP, чтобы обеспечить его успешное выполнение.

Определение целей и требований проекта — важно четко определить задачи и ожидания для предотвращения «раздувания» проекта и соблюдения сроков.

Выбор подходящего PHP-фреймворка или подхода — выбор между использованием фреймворков (например, Laravel, Symfony) и чистого PHP влияет на масштабируемость, безопасность и удобство поддержки.

Продуманное проектирование структуры базы данных — правильная схема базы данных обеспечивает эффективное управление данными.

Планирование безопасности с самого начала — защита проекта от уязвимостей, таких как SQL-инъекции и утечки данных, обязательна для безопасности пользователей и проекта.

Создание модульной и масштабируемой архитектуры — важно обеспечить простоту обновлений, поддержки и расширений по мере роста проекта.

Оптимизация производительности на ранних этапах — улучшение скорости загрузки и производительности через использование кэша, оптимизацию запросов SQL и других техник.

Использование системы контроля версий и автоматизированного развертывания — это помогает в совместной работе над проектом, отслеживании ошибок и быстром выпуске обновлений.
👍3
PHP и работа с базами данных: как выбрать и использовать ORM для максимальной производительности

ORM (Object-Relational Mapping) — это технология, которая связывает реляционные базы данных с объектно-ориентированными языками программирования. ORM упрощает сохранение и извлечение данных, автоматизируя преобразование между объектами и таблицами баз данных. В основе ORM лежит соответствие таблиц и их полей классам и свойствам объектов.

Примеры популярных ORM-библиотек для PHP включают Doctrine, Eloquent и Propel. Каждая библиотека имеет свои особенности: Doctrine поддерживает гибкие форматы отображения и транзакции, Eloquent ориентирован на удобство использования в Laravel, а Propel фокусируется на производительности.

Статья также рассматривает два шаблона проектирования ORM: Active Record (модель тесно связана с записью в БД) и Data Mapper (модель не связана с местом сохранения данных). Выбор между ними зависит от сложности проекта и требований к архитектуре.
1👍1😁1🥱1
Опишите три основных типа ошибок в PHP

В 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 уже сейчас. Ознакомьтесь с новыми функциями, путем обновления и ключевыми датами, чтобы быть уверенными в своей готовности.
👍4
💬Если удаляете много записей из таблицы, делайте это частями и с паузами, чтобы не завалить базу данных.
👍20😢7🤔5🌚5👾1
🧑‍💻 Статьи для IT: как объяснять и распространять значимые идеи

Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.

Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.

Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.

👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
👍2
Разблокировка производительности ORM: Важнейшая роль моделей чтения

Статья обсуждает проблемы производительности ORM (Object-Relational Mapper) при чтении больших объёмов данных из базы данных, подчеркивая важность хорошего понимания инструментов, которые мы используем.
👍5
Привет, друзья! 👋

Мы готовим статью о распространенных ошибках в карьере программиста и хотели бы услышать ваше мнение! Поделитесь своими мыслями и опытом, и самые полезные советы мы включим в нашу статью. Вот несколько вопросов для вас:

🤔 С какими ошибками в своей карьере программиста вы сталкивались? Как вы их преодолели?
📚 Какие советы вы бы дали начинающим разработчикам, чтобы избежать распространенных ловушек в программировании?
🖥️ Что, по вашему мнению, важно учитывать при планировании своей карьеры в IT, чтобы минимизировать сожаления в будущем?

Спасибо за ваше участие! 🚀
👍4
Что делает «@» в PHP?

В 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 появится множество новых функций и улучшений, которые призваны улучшить работу разработчиков, оптимизировать производительность и упростить практику написания кода.
🥰1👏1
Как встроить систему приглашений в свое приложение с помощью Laravel и GraphQL

Здесь рассказано, как встроить систему приглашений в приложение с помощью Laravel и GraphQL. Эту задачу можно выполнить не только по привычным каналам вроде email, но и через SMS API. Разберется процесс интеграции от создания модели на Laravel и работы с GraphQL до отправки сообщений через API Exolve.
👏3👾2🌚1