Библиотека PHP программиста 👨🏼‍💻👩‍💻
2.19K subscribers
315 photos
168 videos
7 files
331 links
Полезные материалы по PHP, Laravel, Symfony, CodeIgniter, CakePHP, Phalcon

По всем вопросам @evgenycarter
Download Telegram
Совет по Laravel💡

Schedule Shell Commands

Знаете ли вы, что Laravel Scheduler позволяет выполнять команды в операционной системе?

👉 @php_lib
👍7
Профилирование PHP (Laravel) приложений с xhprof. Учимся искать ботлнеки

Вам знакомо то чувство, когда ваш PHP-код отрабатывает за дофига миллисекунд, а иногда и секунд, и вы не можете понять, в чём дело и где тот говнокод, который я (или не я, а мой коллега 😵‍💫) когда-то написал? В этой статье хочу немного рассказать на примере профайлинга PHP-кода, как перестать гадать и начать выявлять боттлнеки, которые всё тормозят. Короче, помочь поискать говнокод. После этого у многих из вас появится понимание, как дать своему приложению прирост производительности с помощью крутых инструментов профайлинга, таких как xhprof и Buggregator.

https://habr.com/ru/articles/823156/

👉 @php_lib
👍6
Совет по Laravel💡

Знаете ли вы, что метод whereAny(), может осуществлять поиск по нескольким столбцам, используя логику OR.

👉 @php_lib
12👍5🥴1
Совет из документации по Laravel 💡

В методах `Route::resource()` для show/edit/update/destroy, Route Model Binding будет выбрасывать страницу с ошибкой 404, если модель не найдена.

Но вы можете настроить это с помощью метода `missing()`!

https://laravel.com/docs/11.x/controllers#customizing-missing-model-behavior

👉 @php_lib
👍2
Как долго может работать ваше приложение на PHP?
Чувствуете ограниченность PHP в долгосрочной перспективе?

9 июля в 20:00 мск узнайте, как ваш PHP-код может работать дольше простого HTTP-запроса, обрабатывая данные для интеграции с партнерами или реагируя на события системы в реальном времени. 

🔮На вебинаре вы узнаете:

- какие классы задач могут решать долгоживущие приложения на PHP;
- какие инструменты и средства доступны для реализации этих задач;
- как правильно организовать работу приложений на PHP, чтобы избежать проблем с памятью;
- когда стоит рассматривать расширение стека и использовать другие языки программирования.

Спикер Александр Пряхин — технический руководитель юнита в Авито и опытный преподаватель.

🎁Регистрируйтесь на урок и получите подарок участника чек-лист «‎SOLID и типичные ошибки на собеседованиях»: https://vk.cc/cyeeHq
Веб-скрепинг с помощью 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
😱4👍2
Laravel Herd 1.9 теперь доступен для macOS и добавляет поддержку PHP 8.4.0 Alpha!

Если вы хотите запустить свои проекты на PHP 8.4 до его официального релиза, то нет ничего проще 🚀.

https://herd.laravel.com/

👉 @php_lib
👍4
Совет по Laravel💡

Знаете ли вы... В Laravel есть метод `withProgressBar()`, который позволяет добавлять прогресс-бары к консольным командам.

#Laravel

👉 @php_lib
👍5
Совет по Laravel💡


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

#Laravel

👉 @php_lib
👍5
This media is not supported in your browser
VIEW IN TELEGRAM
Добавляет поддержку vkurko/calendar в Filament PHP

Этот пакет добавляет поддержку vkurko/calendar (бесплатная альтернатива FullCalendar с открытым исходным кодом) в ваши панели FilamentPHP.

https://github.com/GuavaCZ/calendar

👉 @php_lib
👍3
Как перенести MySQL из DBngin в Laravel Herd

С тех пор как в Laravel Herd Pro появилась возможность управлять базами данных и кэш-сервисами MySQL, Postgres и Redis, я хотел перейти с DBngin на Herd MySQL и Redis.

Недавно, с небольшой помощью Марселя Посиота, мне удалось найти простой способ перенести все мои локальные базы данных на MySQL-сервис Herd без потери данных.

https://laravel-news.com/migrate-mysql-from-dbngin-herd

👉 @php_lib
👍1
Совет по Laravel💡: Уникальные идентификаторы запросов

Вам когда-нибудь требовалось создать код уникального идентификатора для запроса, например, для целей кэширования? Laravel поставляется с методом «fingerprint», который позволяет вам генерировать уникальный идентификатор для ваших запросов 🚀.


#laravel

👉 @php_lib
👍5
Совет по Laravel💡

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

#laravel

👉 @php_lib
👍2
Совет по php 💡

Используйте нотацию "точка" Laravel для доступа к значениям вложенных массивов. Упростите доступ к многомерным массивам с помощью одной строки, разделенной точками.

👉 @php_lib
👍5😱3
Совет по PHP

Очень простой, но очень важный:

1. Всегда определяйте, какой тип значения будет возвращать ваша функция. (I узнал об этом из Java ☕️ )
2. Всегда сохраняйте резервное значение в конце функции. Это обеспечит стабильность вашего кода. 💪

👉 @php_lib
👍6💯1
Совет по Laravel 💡

🛠️ Создайте собственные директивы Blade для часто используемых блоков кода в файлах представлений.

🧹 Это сделает ваши представления чище и проще в работе.

💁‍♂️ В качестве примера делюсь своей любимой пользовательской директивой Blade

👉 @php_lib
5👍2
Совет по PHP/Laravel 💡

Вместо того чтобы выполнять цикл `foreach` по массиву для поиска значения записи, вы можете использовать метод Laravel Collection `contains()`.

👉 @php_lib
👍7
Совет по PHP/Laravel 💡

Вместо того чтобы выполнять цикл foreach по массиву для поиска значения записи, вы можете использовать метод Laravel Collection contains().

👉 @php_lib
👍8
Совет из документации по Laravel💡

Если вы хотите войти в систему от имени конкретного пользователя, чтобы проверить, как выглядит какая-то функция в его рабочем пространстве, вы можете использовать методы `Auth::login()` или `Auth::loginUsingId()`.

https://laravel.com/docs/11.x/authentication#authenticate-a-user-instance

👉 @php_lib
👍3
Совет по Laravel💡: Assert JSON Fragments

При тестировании API нам часто нужно проверить, содержит ли ответ определенный ключ с ожидаемыми данными. Laravel поставляется с функцией «assertJsonFragment», которая позволяет сделать именно это 🚀.

👉 @php_lib
👍1