PHP-BE1
311 subscribers
338 photos
11 videos
19 files
620 links
Канал по PHP, полезный и интересный контент для всех уровней.
По вопросам сотрудничества @cyberJohnny
Download Telegram
Вышел релиз Laravel Lang Models 1.0 🎉

Models - это система управления локализацией контента.


@php_be1
https://laravel-lang.com/packages-models.html
Совет по Laravel💡

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

👉 [|@php_be1]
Рекомендация из документации по Laravel 💡

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

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

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

👉 [|@php_be1]
https://laravel.com/docs/11.x/controllers#customizing-missing-model-behavior
Как долго может работать ваше приложение на PHP?
Чувствуете ограниченность PHP в долгосрочной перспективе?

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

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

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

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


🎁Регистрируйтесь на урок и получите подарок участника чек-лист "SOLID и типичные ошибки на собеседованиях": https://clck.ru/3Bm2y6

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Релиз PHP 8.3.9 и 8.2.21
https://www.php.net/ChangeLog-8.php
@php_be1
Веб-скрепинг с использованием PHP: Пошаговое руководство

Веб-скрепинг становится все более популярным и является одной из актуальных тем в ИТ-сообществе. Появилось множество библиотек для сбора данных с веб-сайтов. Здесь вы узнаете, как создать веб-скрепер на PHP, используя одну из самых популярных библиотек для веб-скрепинга

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

$curl = curl_init($url)
curl_setopt($curl, CURLOPT_URL, "https://www.w3schools.com/jquery/demo_test_post.asp")
// указываем, что запрос cURL является POST
curl_setopt($curl, CURLOPT_POST, true)
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true)

// задаем тело запроса
curl_setopt($curl, CURLOPT_POSTFIELDS,
// http_build_query необходим для имитации
// запроса FormData. Игнорируйте это на JSON запросе
http_build_query(
array(
"name" => "Donald Duck",
"city" => "Duckburg"
)
)
)

// задаем тело запроса
curl_setopt($curl, CURLOPT_POSTFIELDS,
array(
"name" => "Donald Duck",
"city" => "Duckburg"
)
)

// имитируем AJAX вызов
$result = curl_exec($curl)

https://www.zenrows.com/blog/web-scraping-php

👉 [|@php_be1]
Laravel Herd 1.9 теперь доступен для macOS и включает поддержку PHP 8.4.0 Alpha

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

https://herd.laravel.com/

👉 [|@php_be1]
https://herd.laravel.com/
Совет по Laravel💡

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

#Laravel

👉 [|@php_be1]
Оптимизируйте оператор if
При написании if с несколькими условиями, располагайте их от самых быстрых к самым медленным, так как PHP использует вычисления по короткой схеме. Если более раннее условие не выполняется, то последующие не проверяются, что экономит время обработки.
@php_be1
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_be1]
https://github.com/GuavaCZ/calendar
Если нужно автоматически удалять старые записи, то используйте трейт Prunable. Нет нужды писать собственные команды:
@php_be1
Как перенести 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_be1]
https://laravel-news.com/migrate-mysql-from-dbngin-herd
Магические константы в PHP
В PHP есть девять магических констант, которые вы можете использовать в своем коде. «Магические», поскольку задаются во время компиляции, в отличие от обычных констант (вы задаете их сами), которые определяются во время выполнения. Это означает, что их значения могут меняться в зависимости от того, где они используются в вашем коде.
https://ashallendesign.co.uk/blog/php-magic-constants
@php_be1
https://ashallendesign.co.uk/blog/php-magic-constants?utm_source=laravelnews&utm_medium=link&utm_campaign=laravelnews
Совет по Laravel💡: Создание уникальных идентификаторов для запросов

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

#laravel

👉 [|@php_be1]
Request fingerprints and how to use them in Laravel
В Laravel есть недокументированный метод fingerprint, который можно использовать для генерации уникального идентификатора запроса.
https://www.amitmerchant.com/request-fingerprinting-and-how-to-use-it-in-laravel/
@php_be1
Совет по Laravel💡

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

#laravel

👉 [|@php_be1]