uk
Feedback
Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter

Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter

Відкрити в Telegram

Все самое полезное для пхпшника в одном канале. По рекламе: @proglib_adv Учиться у нас: clc.to/M561SQ Для обратной связи: @proglibrary_feeedback_bot РКН: https://gosuslugi.ru/snet/67a5d13cd6fa92100ee6f68b

Показати більше

📈 Аналітичний огляд Telegram-каналу Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter

Канал Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter (@phpproglib) у мовному сегменті Російська є активним учасником. На даний момент спільнота об'єднує 10 509 підписників, посідаючи 11 368 місце в категорії Технології та додатки та 60 825 місце у регіоні Росія.

📊 Показники аудиторії та динаміка

З моменту свого створення невідомо, проект продемонстрував стрімке зростання, зібравши аудиторію у 10 509 підписників.

За останніми даними від 01 вересня, 2026, канал демонструє стабільну активність. Хоча за останні 30 днів спостерігається зміна кількості учасників на -67, а за останні 24 години на 1, загальне охоплення залишається високим.

  • Статус верифікації: Не верифікований
  • Рівень залученості (ER): Середній показник залученості аудиторії становить 20.40%. Протягом перших 24 годин після публікації контент зазвичай збирає 9.59% реакцій від загальної кількості підписників.
  • Охоплення публікацій: В середньому кожен допис отримує 2 144 переглядів. Протягом першої доби публікація в середньому набирає 1 008 переглядів.
  • Реакції та взаємодія: Аудиторія активно підтримує контент: середня кількість реакцій на один пост – 14.
  • Тематичні інтереси: Контент зосереджений навколо ключових тем, таких як php, laravel, пхпшника, artisan, api.

📝 Опис та контентна політика

Автор описує ресурс як майданчик для висловлення суб'єктивної думки:
Все самое полезное для пхпшника в одном канале. По рекламе: @proglib_adv Учиться у нас: clc.to/M561SQ Для обратной связи: @proglibrary_feeedback_bot РКН: https://gosuslugi.ru/snet/67a5d13cd6fa92100ee6f68b

Завдяки високій частоті оновлень (останні дані отримано 02 вересня, 2026), канал підтримує актуальність та високий рівень охоплення публікацій. Аналітика показує, що аудиторія активно взаємодіє з контентом, що робить його важливою точкою впливу в категорії Технології та додатки.

10 509
Підписники
+124 години
-167 днів
-6730 днів
Архів дописів
#дайджест новостей по PHP за неделю: 🔎PHP 8.4.0 RC3 доступен для тестирования — Команда PHP рада объявить о выпуске PHP 8.4.
#дайджест новостей по PHP за неделю: 🔎PHP 8.4.0 RC3 доступен для тестирования — Команда PHP рада объявить о выпуске PHP 8.4.0, RC3. Это третий релиз-кандидат, продолжающий цикл выпуска PHP 8.4, примерный план которого указан в PHP Wiki. 🔎PHP 8.2.25 и PHP 8.3.13 выпущены! — Команда разработчиков PHP объявляет о скором выходе PHP 8.2.25 и PHP 8.3.13. Это релиз, исправляющий ошибки. Всем пользователям PHP 8.3 рекомендуется обновиться до этой версии. 🔎Выпущен Symfony 7.2.0-BETA1 🔎Выпущен Symfony 7.1.6

Очереди задач: простой способ пакетной обработки Как работает очередь задач на примере создания миниатюр для видео. Цель: пос
+1
Очереди задач: простой способ пакетной обработки Как работает очередь задач на примере создания миниатюр для видео. Цель: после загрузки видео оно должно высветиться в виде миниатюры

Проголосуйте:
Anonymous voting

Привет, друзья! 👋 Мы готовим статью о секретах мастерства в программировании и хотим узнать ваше мнение! 💻 Какие качества, по вашему мнению, отличают действительно выдающегося программиста? 🏆

❗Директива @env_required() позволяет проверять, что переменная среды установлена и имеет значение, отличное от null. Она може
❗Директива @env_required() позволяет проверять, что переменная среды установлена и имеет значение, отличное от null. Она может быть полезна для обеспечения того, чтобы приложение работало правильно только при наличии определенных переменных среды. В нашем примере директива @env_required() используется для проверки переменной среды APP_KEY. Если переменная не установлена, будет выброшено исключение.

Property hooks на практике В грядущем обновлении PHP 8.4 планируется добавить две значимые функции: property hooks и асимметричную видимость (асимметричный доступ к свойствам, aviz). Эти нововведения разработали Илия Товило и автор статьи, работавшие над ними два года. Property hooks позволяют избавиться от необходимости создавать методы-геттеры и сеттеры «на всякий случай». Новая система управления свойствами позволит разработчикам добавлять логику к доступу свойств, когда это необходимо. Например, можно реализовать свойства в интерфейсах, не используя лишний код, и задавать гибкие настройки для интерфейсных свойств. Пример из проекта автора: система, которая управляет файловыми страницами (Page) в директории (Folder). Страницы могут включать метаданные, такие как название, описание, теги и дату последнего изменения. В версии PHP 8.3 разработчикам приходилось создавать дополнительные методы для доступа к каждому свойству. С property hooks это стало проще и чище, так как теперь можно работать с интерфейсными свойствами напрямую.

Какие техники вы используете для оптимизации запросов к базе данных в Laravel? 1. Жадная загрузка (Избегание проблемы N+1) По умолчанию Laravel использует ленивую загрузку, что может вызвать проблему N+1 запроса. Например, когда выполняется запрос для коллекции записей, а затем для каждой записи делается отдельный запрос к связанным данным. Жадная загрузка помогает избежать этой проблемы, выполняя один запрос для связанных данных.
// Ленивая загрузка (неэффективно)
$posts = Post::all();
foreach ($posts as $post) {
    echo $post->user->name;
}

// Жадная загрузка (оптимизировано)
$posts = Post::with('user')->get();
foreach ($posts as $post) {
    echo $post->user->name;
}
2. Использование select для ограничения извлекаемых столбцов Часто нет необходимости извлекать все столбцы таблицы. Используйте метод select, чтобы выбирать только нужные данные.
// Извлечение всех столбцов (неэффективно)
$users = User::all();

// Извлечение только необходимых столбцов (оптимизировано)
$users = User::select('id', 'name', 'email')->get();
3. Чанковка запросов При работе с большими наборами данных загрузка всего набора может перегрузить память. Используйте чанковку для извлечения данных небольшими порциями.
// Извлечение по 100 записей за раз
User::chunk(100, function ($users) {
    foreach ($users as $user) {
        // Обработка каждого пользователя
    }
});
4. Использование whereIn вместо нескольких запросов Если вам нужно проверить несколько значений для одного столбца, используйте whereIn, чтобы избежать нескольких отдельных запросов.
// Вместо выполнения нескольких запросов
$users1 = User::where('role_id', 1)->get();
$users2 = User::where('role_id', 2)->get();

// Использование whereIn для одного запроса
$users = User::whereIn('role_id', [1, 2])->get();
6. Индексация столбцов базы данных Убедитесь, что столбцы, по которым часто выполняются запросы (например, используемые в условиях where), имеют соответствующие индексы в базе данных. Это значительно ускорит выполнение запросов. Индексы можно создать через миграции Laravel:
Schema::table('users', function (Blueprint $table) {
    $table->index('email');
});
7. Избегайте COUNT(*) с Eloquent, если это не нужно Вместо загрузки всех строк только для их подсчета, используйте функцию count() напрямую.
// Неэффективно: загрузка всех записей для подсчета
$users = User::all()->count();

// Эффективно: использование count напрямую
$userCount = User::count();
8. Кэширование частых запросов Если одни и те же запросы выполняются часто, рассмотрите возможность кэширования их результатов, чтобы уменьшить нагрузку на базу данных.
// Кэширование результата запроса на 60 минут
$users = Cache::remember('users', 60, function () {
    return User::all();
});
9. Использование DB::raw для сложных SQL-запросов Для сложных запросов или в случаях, когда требуются определенные SQL-оптимизации (например, использование функций или подзапросов), можно использовать DB::raw. 10. Использование пула подключений к базе данных Использование пула подключений (connection pooling), где это возможно, позволяет повторно использовать существующие подключения к базе данных вместо открытия новых для каждого запроса. Это может значительно сократить задержки выполнения запросов, хотя это больше относится к настройкам сервера, чем к самому Laravel.

📢Что делать, когда процессы «пытаются» одновременно получить доступ к данным без правильной синхронизации? Это называется «с
📢Что делать, когда процессы «пытаются» одновременно получить доступ к данным без правильной синхронизации? Это называется «состоянием гонки». О том, как выйти из такого состояния, мы поговорим на открытом онлайн-уроке «Race condition, и как с ним бороться» 📅 Дата и время: 1 ноября, 20:00 МСК 🔗Записаться на урок Вы узнаете: - О типовых сценариях возникновения состояния гонки - Как и для чего использовать пакет Symfony Lock - Как восстанавливать работу с БД после исключений Будет интересно php-разработчикам 💡Встречаемся в преддверии старта курса «Symfony Framework». Все участники вебинара получат специальную цену на обучение! ➡️Регистрируйтесь прямо сейчас, чтобы не пропустить бесплатный урок Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

WatchR Это утилита командной строки для проверки дат истечения срока действия доменных имен и сертификатов TLS.

#хочу_спросить Задавайте любые вопросы о программировании и получайте ответы от пользователей. В комментариях под постом укаж
#хочу_спросить Задавайте любые вопросы о программировании и получайте ответы от пользователей. В комментариях под постом укажите #язык, #стек и/или #библиотеку, по которым задаете вопрос.

#дайджест #phpdevjob Вакансии PHP разработчиков уровня Junior ▪️PHP-разработчик Санкт-Петербург. Неватрип — международный туристический онлайн сервис Подробнее ▪️PHP разработчик Удаленка. Андагар — платформа для проведения спортивных соревнований/турниров Подробнее Вакансии PHP разработчиков уровня Middle ▪️Программист PHP Тольятти. Интроверт — интегратор трансформации процессов продаж Подробнее ▪️PHP-разработчик Удаленка. Ньюмедиа Лаб — медиа-стартап Подробнее Вакансии PHP разработчиков уровня Senior ▪️PHP Developer Удаленка. РЕДСМС — телекоммуникационная компания Подробнее ▪️PHP разработчик Удаленка. ЯКурьер — разработчик WMS-систем Подробнее Понравились вакансии? ❤️ — да 🤔 — нет

Библиотеки для работы с PDF PDF-файлы часто используются в веб-приложениях для автоматического создания счетов, отчетов и других документов. PHP предлагает несколько популярных библиотек для работы с PDF, каждая из которых имеет свои преимущества и ограничения. В статье представлены следующие: FPDF — это простая библиотека для создания PDF-файлов без сторонних зависимостей. Она позволяет генерировать PDF с нуля и проста в освоении, что делает её подходящей для небольших проектов. Недостатки: отсутствие поддержки HTML/CSS и ограниченные возможности, что усложняет создание сложных макетов. TCPDF расширяет возможности FPDF, добавляя поддержку HTML, Unicode и сложных макетов. Подходит для многоязычных документов, может встраивать баркоды и QR-коды. Однако требует больше памяти и может быть сложна для новичков. mPDF ориентирована на преобразование HTML в PDF, что упрощает создание документов на основе веб-страниц. Поддерживает шрифты и языки с направлением текста справа налево, но может быть медленной с большими документами и требует значительных ресурсов. Snappy (wkhtmltopdf) — это обертка для инструмента wkhtmltopdf, известного своей высокой точностью при преобразовании HTML в PDF, включая поддержку JavaScript. Отличается скоростью, но требует установки внешнего инструмента и ориентирован на создание статичных PDF. PDFParser предназначен для извлечения текста, изображений и метаданных из PDF, а не для их создания. Подходит для индексирования и анализа PDF, однако ограничен в работе со сложными и защищенными файлами. SetaPDF — коммерческая библиотека с возможностями для заполнения форм, цифровой подписи и шифрования. Подходит для корпоративных приложений с высокими требованиями безопасности, но требует лицензии. FPDI — расширение для FPDF и TCPDF, которое позволяет импортировать страницы из существующих PDF. Подходит для объединения и редактирования PDF, но не для создания файлов с нуля. PDFMerger — библиотека для объединения PDF. Проста в использовании и подходит для быстрого объединения нескольких файлов, но не для их редактирования. Dompdf поддерживает HTML5 и CSS3, что упрощает преобразование веб-страниц в PDF. Подходит для небольших и средних проектов, но может потреблять много ресурсов при обработке сложных макетов. Краткие рекомендации по выбору 🔸FPDF — для простых PDF с минимальными функциями. 🔸TCPDF — для создания сложных документов с поддержкой HTML и Unicode. 🔸mPDF — для проектов, где PDF создаются на основе HTML. 🔸Snappy — для точного преобразования HTML/CSS в PDF с поддержкой JavaScript. 🔸PDFParser— для извлечения информации из PDF. 🔸SetaPDF — для защищённых корпоративных документов с подписями и шифрованием. 🔸FPDI — для редактирования и объединения PDF. 🔸PDFMerger — для быстрого объединения нескольких PDF. 🔸Dompdf — для проектов, где требуется HTML в простом или среднем формате. Выбор библиотеки зависит от задач проекта: для конвертации HTML лучше подходят mPDF или Snappy, для безопасной обработки документов — SetaPDF, для простых PDF — FPDF.

💬Знаете ли вы, что вы можете использовать «scan» в Laravel для разбора строки, введенной в коллекцию, в соответствии с форма
💬Знаете ли вы, что вы можете использовать «scan» в Laravel для разбора строки, введенной в коллекцию, в соответствии с форматом, поддерживаемым встроенной функцией PHP «sscanf»? 🚀

Как обновить устаревшую функцию PHPUnit withConsecutive() В PHPUnit 9 метод withConsecutive() был объявлен устаревшим, а в PHPUnit 10 — удалён, что вызвало множество вопросов на форумах и в проектах. Это изменение оказалось неудобным для разработчиков, так как прямой замены для метода не предусмотрено, и обновление зачастую требует много времени. Однако существует способ заменить withConsecutive(), который делает тесты более гибкими и читаемыми. Метод withConsecutive() использовался для проверки параметров вызова метода в разном порядке. Например, при первом вызове ожидался один набор параметров, при втором — другой. Однако замена его с помощью метода willReturnCallback() позволяет использовать более гибкий подход. В новом коде параметры проверяются в переданном в willReturnCallback() анонимном методе, где также можно отслеживать номер вызова. Для этого используется объект InvokedCount, который увеличивает значение с каждым вызовом. Мы можем проверять параметры по вызовам, используя метод getInvocationCount() (в PHPUnit 10 переименованный в numberOfInvocations()). Преимущества перехода на willReturnCallback() включают: 🔸улучшенную читаемость кода и простоту его поддержки; 🔸возможность добавлять любые проверки и возвращаемые значения прямо в теле функции; 🔸независимость от особенностей реализации PHPUnit, что упрощает переход на будущие версии. Кроме того, с использованием обычного PHP-кода можно легко внедрять в тесты необходимые исключения, возвращаемые значения и прочие проверки. Такой подход делает тесты проще и гибче, а код становится более поддерживаемым.

Какое криптографическое расширение предоставляет возможность генерации и проверки цифровых подписей? В PHP цифровые подписи м
+1
Какое криптографическое расширение предоставляет возможность генерации и проверки цифровых подписей? В PHP цифровые подписи можно генерировать и проверять с помощью расширения OpenSSL, которое предоставляет функции для различных криптографических операций, включая цифровые подписи. #вопросы_с_собеседований

Loupe Полнотекстовая поисковая система с токенизацией, стеммингом, устойчивостью к опечаткам, фильтрами и географической поддержкой, основанная на чистом PHP и SQLite.

Куда движется Laravel? Обзор интервью с Taylor Otwell На канале ThePrimeTime недавно вышло интервью с создателем Laravel Тейлором, и здесь находится обзор этого интервью на русском языке

📊🚀 Почему все говорят о Kafka? Хочешь узнать, как обрабатывать миллионы событий в секунду и почему такие гиганты, как Netfl
📊🚀 Почему все говорят о Kafka? Хочешь узнать, как обрабатывать миллионы событий в секунду и почему такие гиганты, как Netflix и Uber, без ума от Kafka? Давай разберемся, как этот инструмент может превратить поток данных в золотую жилу для твоего проекта. Читать статью