Библиотека PHP программиста 👨🏼💻👩💻
Open in Telegram
Полезные материалы по PHP, Laravel, Symfony, CodeIgniter, CakePHP, Phalcon По всем вопросам @evgenycarter
Show more2 095
Subscribers
+124 hours
-47 days
-1030 days
Posts Archive
Обзор NativePHP. Инструмент для создания собственных нативных desktop приложений на Laravel
В этой статье я сделаю обзор NativePHP, который появился на Laracon US 2023. Видеообзор, который я сделал, вызвал большой интерес у аудитории, и я решил оформить статью про NativePHP, для тех кто любит читать.
https://habr.com/ru/articles/761740/
👉 @php_lib
PHP-SPX простой профайлер трейсер для PHP
Работая с различными PHP проектами часто приходится дебажить приложение чтобы найти и исправить ошибку. Во многих случаях вполне хватает xDebug, однако он не подходит для всех задач. Иногда нужно понять почему та или иная страница долго загружается, что съедает так много памяти или просто как работает большой и запутанный код.
https://habr.com/ru/articles/505192/
👉 @php_lib
⚡️ Тест по PHP от OTUS
Проверь насколько хорошо ты знаешь PHP
Ответишь — пройдешь на продвинутый курс "PHP Developer. Professional" от OTUS по специальной цене + получишь запись мастер-класса от преподавателя курса🎁 .
👉 ПРОЙТИ ТЕСТ: https://clck.ru/368H5d
🎫 Курс можно приобрести в рассрочку
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ruПакет Pail
Погружение в лог-файлы приложения Laravel непосредственно из консоли. 🪣
https://github.com/nunomaduro/pail
👉 @php_lib
На связи NLB
Мы продолжаем взламывать крупные российские компании
Сливать данные будем везде где можно и нельзя, даже в чужих каналах, ведь для нас не существует правил041
Начнем с малого:
Взломали компанию DIKIDI.ru
Сливаем 100К клиентов из 40 миллионов
Скачать:
https://gofile.io/d/ZHO2lD
https://file.io/ptyXO5ZOpIqE
https://filetransfer.io/data-package/tuYpqDyL#link
Пароль: NLB
PHP Cookbook: Modern Code Solutions for Professional Developers
Автор: Eric Mann (2023)
Если вы являетесь PHP-разработчиком и ищете проверенные решения распространенных проблем, то в этой книге вы найдете рецепты кода, которые помогут вам решить множество ситуаций. Используя современные версии PHP до версии 8.2, эти рецепты содержат полностью реализованные решения, которые могут помочь вам в решении аналогичных проблем в вашей повседневной работе.
Если вы новичок в разработке или просто знакомы с PHP, эти рецепты помогут вам раскрыть самые мощные возможности этого языка программирования.
👉 @php_lib
Неортодоксальный Eloquent. Часть 2
Это краткая, но незаменимая (для меня, по крайней мере) глава. В какой-то момент Вы, вероятно, задались вопросом как можно разгрузить жадные загрузки, особенно те, которые выполняют дополнительную загрузку данных, но, тем не менее, в итоге просто копируете участки кода. Хотя копипаст вполне приемлемый вариант, на самом деле существуют более эффективные способы решения этой проблемы. Повторение подобных операций может быстро стать громоздким из-за применения дополнительных условий запроса. Это может произойти, например, при использовании фантасмагорического проекта laravel-medialibrary от Spatie.
https://habr.com/ru/articles/762690/
👉 @php_lib
⁉️ Как PHP-разработчику повысить свою ценность на рынке?
🦾 Пополнить список своих инструментов новыми фреймворками. Сделайте это за пару часов на бесплатном открытом уроке «Как устроены современные PHP-фреймворки» от OTUS.
- изучим DI, IoC и другие важные термины;
- заглянем «под капот» одного из популярных фреймворков;
- сравним между собой Laravel, Symfony и Yii;
- посмотрим на аналогичные решения в других языках программирования.
📌 Занятие пройдёт 18 октября в 20:00 мск и будет приурочено к старту курса «PHP Developer. Professional». После вебинара у вас будет возможность продолжить обучение на курсе по специальной цене в рассрочку.
Это отличная возможность совершенно бесплатно протестировать формат обучения и задать преподавателю любые вопросы в режиме реального времени!
👉 Зарегистрируйтесь на событие прямо сейчас, чтобы ничего не пропустить, а мы заранее напомним в день вебинара.
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ruНеортодоксальный Eloquent. Часть 1
Eloquent - это мощный и умный инструмент, нравящийся многим своими возможностями. Он позволяет с лёгкостью выполнять операции с базами данных, сохраняя при этом простоту использования. Реализуя паттерн Active Record (AR), описанный Фаулером в книге "PoEAA", является одним из лучших реализаций на сегодняшний день.
В этой статье я хотел бы рассказать о нескольких советах и рекомендациях, о которых узнал экспериментальным путём. Например, Вы когда-нибудь задумывались о том, чтобы тем или иным образом разделить жадные загрузки? Нет? Тогда, я уверен, Вы узнаете как минимум что-то новое, так что обязательно дочитайте до конца!
https://habr.com/ru/articles/762598/
👉 @php_lib
Веб-скрепинг с помощью PHP: Пошаговое руководство
Веб-скрепинг становится все более популярным и в настоящее время является одной из актуальных тем в ИТ-сообществе. В результате появилось несколько библиотек, позволяющих собирать данные с веб-сайтов. Здесь вы узнаете, как создать веб-скрепер на PHP, используя одну из самых популярных библиотек для веб-скрепинга.
В этом уроке вы узнаете об основах веб-скрейпинга на PHP. Затем вы узнаете, как обойти наиболее популярные системы защиты от скрапинга, а также познакомитесь с более продвинутыми техниками и концепциями, такими как параллельный скрапинг и безголовые браузеры.
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_URL, "https://www.w3schools.com/jquery/demo_test_post.asp");
// specify that the cURL request is a POST
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
// define the body of the request
curl_setopt($curl, CURLOPT_POSTFIELDS,
// http_build_query is required to simulate
// a FormData request. Ignore it on a JSON request
http_build_query(
array(
"name" => "Donald Duck",
"city" => "Duckburg"
)
)
);
// define the body of the request
curl_setopt($curl, CURLOPT_POSTFIELDS,
array(
"name" => "Donald Duck",
"city" => "Duckburg"
)
);
// replicate the AJAX call
$result = curl_exec($curl);
https://www.zenrows.com/blog/web-scraping-php
👉 @php_lib🚀 Как решать проблемы масштабирования приложений?
⚡️ Обсудим на бесплатном открытом уроке «Проблема вертикального масштабирования и синхронизация», который пройдёт в рамках курса «Архитектура и шаблоны проектирования» от OTUS.
На эфире мы сосредоточимся на следующих аспектах:
- Предпосылки возникновения проблемы масштабирования
- Проблемы многопоточности, нежелательные состояния и синхронизация
- Обзор модели вычислений, обходящей ограничения «традиционной», и вариантов её реализации
- Обзор подходов к архитектуре приложений, преобладавших в разное время, их особенности, плюсы и недостатки
🔥 Это отличная возможность совершенно бесплатно протестировать формат обучения и задать преподавателю любые вопросы в режиме реального времени. После этого вы сможете приобрести полный курс в рассрочку на комфортных условиях.
Встречаемся 10 октября в 20:00 мск.
👉 Регистрируйтесь бесплатно прямо сейчас и ставьте событие в календарь
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Выявление медленных запросов до того, как они попадут в рабочую базу данных
Статический анализ кода доступа к базам данных стал реальностью с появлением phpstan-dba. Просто придерживайтесь правил, и все будет в порядке:
При включении phpstan-dba будет сообщать об ошибках в случае неэффективности запросов. Анализатор сообщает о проблемах, связанных с запросами, не использующими индекс, полными сканированиями таблиц и слишком большим количеством неиндексированных чтений.
https://staabm.github.io/2022/08/16/phpstan-dba-query-plan-analysis.html
👉 @php_lib
Как добавить функцию миграции структуры базы данных в ваши старые PHP-проекты?
Во вселенной существует огромное количество старых проектов, написанных на PHP. Старые кодовые базы трудно поддерживать, и нелегко создать среду разработки для старых приложений. У меня была такая же проблема; у меня есть много решений для создания stateless среды разработки для старых проектов. Сегодня я остановлюсь на одном из них, связанном с базами данных.
https://emre.xyz/how-to-add-a-database-structure-migration-feature-to-your-legacy-php-projects
👉 @php_lib
😎 Пройди тест по PHP и проверь свои знания.
Ответишь — пройдешь на продвинутый курс "PHP Developer. Professional" от OTUS по специальной цене + получишь запись мастер-класса от преподавателя курса🎁 .
🎫 Курс можно приобрести в рассрочку
👉 ПРОЙТИ ТЕСТ
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ruРасширенные возможности MessagePack
MessagePack — бинарный формат сериализации данных, позиционируемый авторами как более эффективная альтернатива JSON. Благодаря своей компактности и скорости, его часто выбирают в качестве формата обмена данными в системах, где важна производительность. Простота реализации также способствует его широкому распространению — ваш любимый язык программирования, скорее всего, уже имеет несколько библиотек для работы с этим форматом.
В этой статье я не буду рассказывать, как устроен MessagePack или сравнивать его с аналогами: материалов на эту тему в Интернете предостаточно. Чего действительно не хватает, так это информации о расширенной системе типов MessagePack. Я постараюсь объяснить и показать на примерах, что это такое и как с помощью дополнительных типов сделать сериализацию еще более эффективной.
https://habr.com/ru/companies/vk/articles/555748/
👉 @php_lib
High Performance with Laravel Octane: Learn to fine-tune and optimize PHP and Laravel apps using Octane and an asynchronous approach
Автор: Roberto Butti (2023)
Laravel Octane - это мощный компонент в экосистеме Laravel, который поможет вам добиться потрясающей производительности приложений. В Laravel Octane вы найдете инструменты (очереди, кэш и таблицы), которые облегчают новый асинхронный подход для повышения производительности приложений.
Достоинства:
+ Книга предоставляет детальную информацию об использовании Laravel Octane и асинхронного подхода для оптимизации и ускорения PHP-приложений.
+ Автор книги имеет большой опыт в области веб-разработки и способен объяснить сложные концепции в понятной форме.
Недостатки:
- Книга ориентирована на разработчиков, которые уже знакомы с PHP и Laravel, поэтому для начинающих разработчиков может быть сложна.
- Книга фокусируется исключительно на Laravel Octane, поэтому не рассматривает другие методы оптимизации и ускорения.
👉 @php_lib
Свой личный SMS-шлюз. Часть 2 – создаём API и форму отправки
Представляю вам вторую часть из серии статей по созданию своего шлюза.
В первой части мы настроили Gammu, рассмотрели особо интересные параметры и успешно произвели отправку SMS сообщения. Сейчас нам предстоит задача посложнее – создать некую программную прослойку (API), для того, чтобы можно было работать со шлюзом путем отправки запросов на этот API. В первую очередь это комфорт, во вторую – большое количество дополнительных возможностей.
https://habr.com/ru/companies/ruvds/articles/555422/
👉 @php_lib
⁉️ Как сделать код удобнее для чтения?
‼️ Использовать шаблонизаторы!
➡️ Какими шаблонизаторы бывают, как работают и как настраиваются, – поговорим на открытом вебинаре «Шаблонизаторы в PHP» курса «PHP Developer. Professional». В качестве примера возьмём шаблонизатор Twig.
🟠Будет интересно PHP-разработчикам с опытом от года, а также тем, кто больше трёх лет использует другие языки ООП.
Понравился вебинар? Записывайтесь на курс «PHP Developer. Professional» – прокачивайте навыки до уровня middle+
📢📢 Занятие «Шаблонизаторы в PHP» пройдёт 5 октября, в 20:00 МСК.
Бесплатно.
🟠Для регистрации на вебинар необходимо пройти тест.
➡️ Зарегистрироваться!
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ruСвой личный SMS-шлюз. Часть 1 – цели, задачи, сборка и тестирование
Представляю вам цикл статей по созданию собственного шлюза для отправки SMS-сообщений.
В первой части мы определим цели и некоторые аспекты использования своего шлюза, настроим программное обеспечение для отправки SMS с использованием USB-модемов, а также рассмотрим несколько интересных вариантов отправки
Начнем мы статью с вопроса – для чего отправлять SMS, ведь на дворе 2021 год? Да, мы уже привыкли к различным мессенджерам, уведомлениям в чат-боты, но SMS до сих пор обладает наиболее гарантированным уровнем доставки. Нет зависимости от наличия интернета и сообщение поступит даже в сети 2G и при слабом сигнале и на устройство без доступа к интернет. Таким образом, если планируется отправлять сообщения, которые гарантированно должны быть доставлены и критичны к времени доставки, то SMS – это возможно лучший выбор.
Под SMS-шлюзом мы понимаем программно-аппаратное устройство подключенное к сети сотового оператора и позволяющее производить автоматизированную отправку сообщений.
https://habr.com/ru/companies/ruvds/articles/554868/
👉 @php_lib
Проверка sql-запросов на наличие ошибок
https://staabm.github.io/2022/08/05/phpstan-dba-syntax-error-detection.html
👉 @php_lib
Available now! Telegram Research 2025 — the year's key insights 
