Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter
10.7K subscribers
1.7K photos
27 videos
27 files
4.49K links
Все самое полезное для пхпшника в одном канале.

По рекламе: @proglib_adv

Учиться у нас: clc.to/M561SQ

Для обратной связи: @proglibrary_feeedback_bot

РКН: https://gosuslugi.ru/snet/67a5d13cd6fa92100ee6f68b
Download Telegram
🤖 Мы тут подготовили небольшую игру по ИИ-агентам

В ней нужно собрать AI-агента на LangGraph: выбрать узлы, пройти развилки и запустить собственный workflow.

Никакой теории — сразу практика. Можно наглядно увидеть, как работают агентные системы, проверьте свои знания или показать другим как это всё работает 🔥

🎁 За прохождение получите персональную скидку на курс. Чем больше баллов наберете — тем больше будет скидка.

Плюс сейчас действует предложение: покупаешь 1 курс, получаешь еще 2 любых в подарок. Для этого надо будет оставить заявку на сайте академии после прохождения игры.

🚀 Собрать своего AI-агента
✔️ PHP-тест: лента, в которой посты двоятся и пропадают

Пользователь листает ленту и видит один и тот же пост дважды. А кто-то жалуется, что пропускает записи 👇

📦 Задание

Соцсеть, активная лента, новые посты прилетают каждую секунду. Постраничный вывод сделали классически, через LIMIT/OFFSET. На ревью прошло, тесты зелёные (в тестах данные статичные). В проде в часы пик начались жалобы: дубли на стыке страниц и «куда-то делся пост, я его точно видел».
// src/Feed/FeedRepository.php
class FeedRepository
{
public function __construct(private readonly PDO $pdo) {}

public function page(int $page, int $perPage): array
{
$offset = ($page - 1) * $perPage;

$stmt = $this->pdo->prepare(
'SELECT id, author_id, body, created_at
FROM posts
ORDER BY created_at DESC
LIMIT :limit OFFSET :offset'
);

$stmt->bindValue(':limit', $perPage, PDO::PARAM_INT);
$stmt->bindValue(':offset', $offset, PDO::PARAM_INT);
$stmt->execute();

return $stmt->fetchAll(PDO::FETCH_ASSOC);
}
}


🔹 Задачи

— Объяснить, почему на меняющихся данных OFFSET даёт дубли и пропуски между страницами
— Объяснить, почему сортировка только по created_at дополнительно усугубляет проблему
— Переписать на keyset-пагинацию (cursor) так, чтобы вставки/удаления не сдвигали выдачу

Ставьте → 🔥 если нравится формат. Если нет → 🌚

💬 Решения пишите в комменты под спойлер, сравним подходы.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍4🤔2🌚1
🔍 Работа с sed

Нужно массово заменить строку во всех файлах проекта? sed -i — замена прямо в файлах, без открытия редактора, без скриптов.

🔹 Зачем это нужно

— Массовый рефакторинг: переименовать endpoint, обновить URL, сменить конфиг.
— Работает с пайпами и можно комбинировать с find и grep.
— Поддерживает регулярки, а не просто текстовая замена.

🔹 Как использовать

— Замена в файле: sed -i 's/old-api/new-api/g' config.yaml
— Во всех файлах рекурсивно: find . -name "*.yaml" -exec sed -i 's/old-api/new-api/g' {} +
— Удалить строки с паттерном: sed -i '/DEBUG/d' app.log
— Вставить строку после совпадения: sed -i '/server {/a\ listen 443 ssl;' nginx.conf
— На macOS: sed -i '' 's/old/new/g' file.txt (пустой суффикс бэкапа)

💡 Перед массовым sed -i всегда делайте dry run: grep -r "old-api" --include="*.yaml" — убедитесь, что замена затронет только нужные файлы. И коммитьте перед заменой, git diff покажет, если что-то пошло не так.

🐸 Библиотека пхпшника
Please open Telegram to view this post
VIEW IN TELEGRAM
😁4👍2🔥2
🐘 В php.ini канала нашли подозрительную настройку

stories.enabled = Off
extra_formats.enabled = Off
admin.mood = tired


Хотим поправить конфиг и включить сторис.

Туда удобно выносить короткие PHP-шпаргалки, вопросы с собесов, мини-разборы, опросы и ссылки, которые не всегда тянут на отдельный пост.

Помочь просто → оформить буст канала.

🐸 Библиотека пхпшника
Please open Telegram to view this post
VIEW IN TELEGRAM
1😁11🥱5👍4👏1
🔥 PHP 8.5 завёз пайпы

Тот самый |>, которого ждали с 2016-го. Три RFC, Ларри Гарфилд, «третий раз — заветный».
$slug = $title
|> trim(...)
|> strtolower(...);


Читается сверху вниз, а не выворачивается наизнанку. Но скажем честно:

— чистый сахар, те же опкоды, что и временные переменные;
— (...) в каждом шаге мозолит глаз;
— стрелочные функции надо оборачивать в скобки;
— без PFA многоаргументные функции в пайп не засунешь;
— а куда воткнуть var_dump посреди a |> b |> c?

Что думаете, это шаг к читаемому функциональному PHP или сахарок, который уже раздражает в ревью?

💬 Пишите мнение в комменты

🐸 Библиотека пхпшника
Please open Telegram to view this post
VIEW IN TELEGRAM
😢14👍3😁3🥱2💯2
Уже сегодня в 19:00 (МСК) стартует наш открытый урок!

Знаем, летом хочется отложить учёбу на осень. Но пока остальные отдыхают 😅, мы предлагаем без лишней конкуренции прокачать свой workflow и начать закрывать тикеты в три раза быстрее.

Тема:
«AI-инструменты в разработке: пишем код быстрее»


Мы покажем живой разбор реального проекта: как с помощью AI-ассистентов мгновенно разбираться в чужой кодовой базе, искать нужные участки и собирать Pull Request. Только рабочие промпты, которые сэкономят вам часы рутины.

🎙 Спикер — Ольга Лукьянова, руководитель команды в SourceCraft (18+ лет развивала инструменты в JetBrains и Huawei).

👉 Узнать, как ускорить разработку с AI
❗️ Новый релиз

В начале месяца вышел TrueAsync 0.7.0

Версия определяет необходимый API для асинхронного программирования. Релиз соединяет потоки и корутины в единое целое, позволяя комбинировать CPU BOUND/IO BOUND задачи.

Дополнительное расширение-сервер на С помогает использовать async серверные приложения.

🐸 Библиотека пхпшника
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥3🤔2
👀 Умеете строить предсказуемую архитектуру с ИИ? Станьте спикером Proglib academy

Мы в Proglib.academy запускаем курс по Spec-Driven Development (SDD) — учим разработчиков управлять ИИ-агентами (Cursor, Copilot, Claude) через спецификации, контекст и тесты, чтобы не перепроверять за нейросетью каждую строку.

Для этого курса мы ищем классных спикеров-практиков.


➡️ Что требуется от вас?

BigTech бэкграунд: опыт работы разработчиком, тимлидом или архитектором в крупных технологических компаниях.
Опыт управляемой разработки с ИИ: вы на практике знаете, как встроить AI-инструменты в личный или командный workflow (от постановки задачи до ревью AI-кода).
Системный подход: умение превращать хаотичную генерацию кода в предсказуемый инженерный процесс (работа с архитектурой, чек-листами, легаси и покрытием тестами).

➡️ Что мы предлагаем?

● Достойную оплату за подготовку материалов и проведение занятий.
● Мощное продвижение личного бренда через медиаресурсы Proglib (наша аудитория — 1 млн+ айтишников).
● Возможность публиковать свои экспертные материалы и статьи на наших площадках.
● Доступ к сильному и закрытому профессиональному сообществу.

Также мы ищем консультанта программы.

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

➡️ Как с нами связаться:

Telegram: @alinaa_kh
E-mail: alina@proglib.io
Please open Telegram to view this post
VIEW IN TELEGRAM
🥱1
⌨️ Топ-вакансий по PHP за неделю

Разработчик PHP — удалёнка — Реактив

Senior/Lead Backend Developer — офис (Москва) — ECOS

Senior Full-stack разработчик (PHP) — удалёнка — Miractal

➡️ Еще больше топовых вакансий — в нашем канале PHP Jobs
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍1