Библиотека пхпшника | 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
#дайджест новостей по 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
Вопрос к сеньорам, в какой момент вы узнали, что достигли этого уровня? Как это произошло?⬇️⬇️⬇️
😁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 полезных ресурсов
🤩1
Опрос «Как вы учитесь с помощью телефона: поделитесь своим опытом!»

Дорогие подписчики, мы на миссии улучшений, и вы — наш ключ! 🔑


Мы хотим стать ещё круче, и для этого нужно узнать, как вы учитесь!

Заполните мини-анкету о том, как вы используете мобильные приложения для прокачки знаний.

Займёт всего 5 минут — как раз успеете за чашкой кофе! А за ваш ценный вклад мы дарим 15% скидку на все курсы https://proglib.academy/ 🎁
👍1
💬Еще в Laravel 8 появился Prunable. С его помощью вы можете удалять старые модели по расписанию.

Вам больше не нужно писать пользовательские команды
👍17🥰1🌚1👾1