PHP-BE1
302 subscribers
399 photos
12 videos
19 files
691 links
Канал по PHP, полезный и интересный контент для всех уровней.
По вопросам сотрудничества @cyberJohnny
Download Telegram
Релизы PHP 8.4 и 8.3.25
https://www.php.net/ChangeLog-8.php

@php_be1
Gemini API PHP Client

Клиент Google Gemini API для PHP позволяет вам использовать модель искусственного интеллекта Gemini.

Установка

composer require gemini-api-php/client

Базовая генерация текста

use GeminiAPI\Client;
use GeminiAPI\Resources\Parts\TextPart;

$client = new Client('GEMINI_API_KEY');
$response = $client->geminiPro()->generateContent(
new TextPart('PHP in less than 100 chars'),
);

print $response->text();
// PHP: A server-side scripting language used to create dynamic web applications.
// Easy to learn, widely used, and open-source.

https://github.com/gemini-api-php/client

👉 [|@php_be1]
Каким мог бы быть Laravel WebServer, если бы он работал через очередь?

Привет! Сегодня я хочу поделиться с вами одной интересной идеей — а что если Laravel WebServer принимал бы все HTTP-запросы не напрямую, а через обычную очередь задач Laravel Queue? Вместо привычных PHP-FPM, Swoole, RoadRunner или FrankenPHP — весь запрос обрабатывался бы как задача в очереди.

Звучит странно? Давайте разбираться, как это могло бы работать и что из этого получилось бы.

https://laravel.su/p/kakim-mog-by-byt-laravel-webserver-esli-by-on-rabotal-cerez-ocered

👉 [|@php_be1]
Pulse Boson PHP #1
Boson PHP — это платформа для создания кроссплатформенных настольных приложений, которая позволяет использовать веб-технологии (PHP, JavaScript, HTML, CSS) для создания native-приложений. Она сочетает в себе интерпретатор PHP и движок WebView, что позволяет собирать приложения в единый исполняемый файл для Windows, Linux и macOS.
https://habr.com/ru/articles/944716/

@php_be1
💡 Совет по Laravel

Нужно проверить, что в вашем вводе существуют определённые ключи массива?

Используйте required_array_keys, чтобы убедиться, что в данных массива присутствуют конкретные ключи - идеально подходит для API-эндпоинтов, которые ожидают строгую структуру данных.

Ссылка на документацию: https://laravel.com/docs/12.x/validation#rule-required-array-keys

👉 [|@php_be1]
Сегодня хочу поговорить про одну проблему, с которой я сталкивался сам и вижу её у других PHP-разработчиков - “магия” в коде.

Что я имею в виду? Это когда ты открываешь проект, а там сервисы создаются «сами собой», данные в объект попадают неизвестно откуда, а половина зависимостей подтягивается где-то «под капотом».
Вроде удобно - меньше кода писать. Но вот через пару месяцев ты сам же сидишь и думаешь: «А откуда вообще берётся этот объект? И почему тут такая зависимость?»

🔹 Основная проблема магии - она убивает явность кода. Чем больше скрытых механизмов, тем сложнее поддерживать проект и подключать новых разработчиков.

Примеры из практики:

- Использование глобальных хелперов вместо DI.
- Автоматический вызов методов через __call или __get.
- Массовая магия в Laravel (facades, hidden bindings и т.д.).

🛠 Что можно сделать:

1. Минимизировать скрытые механизмы - лучше написать чуть больше явного кода.
2. Использовать контейнер зависимостей, но регистрировать их явно.
3. Документировать «точки входа» и договориться в команде, где магия допустима, а где нет.

Когда код становится предсказуемым, ты меньше тратишь времени на дебаг, быстрее понимаешь чужие изменения и увереннее двигаешься вперёд.

А как у вас в проектах? Вы за явный код или любите, когда всё работает «само»?

👉 [|@php_be1]
🚀 Подборка ВК сообществ для программистов

📌Программирование

Программирование ITmozg https://vk.com/itmozg

Программирование Bookflow https://vk.com/bookflow

Обычный программист https://vk.com/oproger

Frontend разработчик https://vk.com/frontend_dev

Библиотека PHP программиста https://vk.com/php_be1

React https://vk.com/react_lib

Библиотека Java разработчика https://vk.com/bookjava

Библиотека C/C++ разработчика https://vk.com/cpp_lib

Kotlin https://vk.com/kotlin_lib

Библиотека Go (Golang) разработчика https://vk.com/golang_lib

📌Системное администрирование

Системный администратор https://vk.com/i_odmin

DevOps https://vk.com/i_devops

Библиотека девопса | DevOps, SRE, Sysadmin https://vk.com/devopslibru

Системный Администратор (Сисадмин) https://vk.com/sysodminof

Типичный Сисадмин https://vk.com/tipsysdmin

Книги для Системного Администратора https://vk.com/i_odmin_book

Системный Администратор Windows https://vk.com/windows_srv

Bash Советы https://vk.com/bash_srv

Devops Star (Звезда Девопса) https://vk.com/devops_star

Linux https://vk.com/linuxchmod

📌Python

Python академия https://vk.com/python_of

Библиотека Python разработчика https://vk.com/bookpython

📌1C

1C программист https://vk.com/odin1c_rus

DevLab1C https://vk.com/devlab1c

📌Сообщество Дизайнеров https://vk.com/odesigners

📌Физика Математика

ФизМат https://vk.com/phismat_1

Я Математик https://vk.com/po_matematike

📌Базы данных

Базы данных (Data Base) https://vk.com/database_info

📌Хакер

Хакер Free Взлом https://vk.com/xakkep_1

📌Юмор программистов

ITumor | программисты шутят https://vk.com/itumor

📌GitHub

GitHub Сообщество https://vk.com/githublib

📌Тестирование (QA)

Библиотека тестировщика QA https://vk.com/testlab_qa

📌GameDev

GameDev: разработка игр https://vk.com/game_devv

📌Работа для программистов, IT специалистов

https://vk.com/progjob
Часто используемые способы взаимодействия с релейшенами Laravel и их улучшение

1) Первый
Product::query()
- ->with([
- 'attribute' => fn (Builder $query) => $query->select(['id', 'title'])
- ])
- ->whereHas('attribute');
+ ->withWhereHas('attribute:id,title')

2) Второй
Product::query()
- ->whereHas('attribute', fn (Builder $query) => $query
- ->where('id', $id)
- );
+ ->whereRelation('attribute', 'id', $id)

3) Третий
Product::query()
- ->with([
- 'attribute' => fn (Builder $query) => $query->select(['id', 'title'])
- ])
- ->whereHas('attribute', fn (Builder $query) => $query
- ->where('id', $id)
- );
+ ->with('attribute:id,title')
+ ->whereRelation('attribute', 'id', $id)

@php_be1
💡Совет по Laravel

Определение языка пользователя

Laravel использует компонент HttpFoundation из Symfony, который предоставляет полезные возможности. Если вы работаете с локализацией и нужно определить предпочитаемый язык пользователя, просто вызовите метод getPreferredLanguage 🚀

👉 [|@php_be1]
Использование файберов в PHP

PHP и асинхронность. Такая комбинация долгие годы казалась невозможной, ведь PHP прочно ассоциировался с блокирующим подходом и синхронным выполнением скриптов «от запроса до ответа». С выходом PHP 8.1 ситуация несколько изменилась — появилась возможность реализовать асинхронность в PHP на основе файберов. Но есть нюанс — вопрос о том, действительно ли PHP с приходом файберов стал асинхронным, по-прежнему для многих остается открытым.

@php_be1

https://habr.com/ru/companies/docdoc/articles/941364/
Podlodka Crew 29 сентября запускает новую конференцию — Podlodka AI Crew (https://podlodka.io/aicrew?utm_campaign=early_bird_ai_crew_1&utm_source=telegram&utm_medium=paid&utm_content=laravel_it&erid=2SDnjcnF3ka)🥳

Если вы ищете практические знания без воды — это оно. Подлодка собрала экспертов, которые покажут, что реально работает в коде, пайплайнах и командных процессах.

В программе:

📊«AI, ML, DS, нейросети: без хайпа в терминах» — разберём границы применимости подходов, чтобы отличать пользу от шума (Алексей Шаграев, ex-Google, ex-Yandex).

👥 Круглый стол «AI-культура в команде» — инструменты и практики, сопротивление/принятие, влияние на эффективность и безопасность (Макс Сальников / Microsoft, Владимир Иванов / Supplied, Михаил Левченко / Яндекс Вертикали, Павел Герасимов / Wrike).

💻 Мастер-класс «Project-aware ассистенты: RAG + MCP» — живая документация, контекст кода для LLM и интерфейс запросов в мессенджере; как это ускоряет онбординг и разработку (Григорий Сухоруков, Яндекс).

⚡️«Эффективный промптинг» — техники, которые убирают типовые страхи и реально ускоряют разработку (Евгений Сатуров, Surf).

Почему это важно: AI уже часть рабочего стека — от IDE до CI/CD. Здесь — практики с измеримым эффектом: меньше рутины, быстрее процессы.

Кому будет полезно: разработчикам, архитекторам и техлидам, платформенным/DevOps-инженерам - всем, кто внедряет AI-процессы и ждёт измеримого результата.

🗓 29 сентября - 3 октября
🔗 Подробности и регистрация: https://podlodka.io/aicrew (https://podlodka.io/aicrew?utm_campaign=early_bird_ai_crew_1&utm_source=telegram&utm_medium=paid&utm_content=laravel_it&erid=2SDnjcnF3ka)

@php_be1
Денди-код

Краткая и практичная книга о том, как писать понятный и аккуратный код с примерами на PHP. Книга не уходит в теоретические дебри, не спорит о вкусе и не переоценивает значение философии чистоты. Она фокусируется на самом первом шаге к хорошему коду — его визуальной читаемости. Здесь вы найдёте рекомендации, которые можно и нужно применять сразу на практике.

Бесплатно: https://github.com/tabuna/dandy-code

@php_be1
Релизы PHP 8.4.13 и 8.3.26
https://www.php.net/ChangeLog-8.php

@php_be1
Вы когда-нибудь импортировали несколько классов из одного пространства имён вот так?

Это изящный ход или грязная ошибка? Делись мнением в комментариях!

#Laravel

👉 [|@php_be1]