Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter
11.2K subscribers
1.37K photos
21 videos
26 files
4.06K links
Все самое полезное для пхпшника в одном канале.

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

Учиться у нас: https://proglib.io/w/bca892d6

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

РКН: https://gosuslugi.ru/snet/67a5d13cd6fa92100ee6f68b
Download Telegram
⚡️ Будь как этот гений с картинки — предлагай свои условия работодателю, а не наоборот!

Кто нужен?
Senior ML-Engineer с опытом работы более 6 месяцев в FAANG компаниях. Требование: разработать кросс-платформенное приложение-трекер зарплат с AI-распознаванием вакансий по резюме.


Но если вы пока джун — я бы предложил:

- Full-time контракт: 180к/мес после курса + опцион на карьеру в топ-компаниях
- Либо фикс за проект: стань ML-инженером за 39к вместо 44к с промокодом LASTCALL

🔗 Старт 9 сентября
3
💻 Подборка новостей по PHP за неделю:​

🔹 CakePHP 5.2.7 — поддержка UUID V7, исправления в getEnv() и валидации вложенных сущностей.

🔹 Laravel 12.26 — добавлены withHeartbeat() для Lazy collections, toPrettyJson() для коллекций и моделей, а также Wayfinder в React/Vue стартер-китах для типобезопасных маршрутов.

🔹 PHP 8.5.0 Beta 2 — вторая бета PHP 8.5. Цикл релизов продолжается.

🔹 PHP 8.3.25 и 8.4.12 — багфикс-релизы, обновление рекомендуется всем пользователям.

🔹 Symfony 7.3.3 — очередной стабильный релиз с исправлениями.

🔹 Symfony 25–31 августа 2025 — сообщество вспоминает Райана Уивера (SymfonyCasts), чьи уроки вдохновили тысячи разработчиков. Его вклад в Symfony и теплоту общения будут помнить и продолжать через обучение и поддержку семьи.

Библиотека пхпшника

#свежак
1🔥1
⌨️ Топ-вакансий по PHP за неделю

Backend (PHP Laravel) Developer — от 1 500 до 2 000 $, Удалёнка (Москва)

Senior PHP developer— 300 000 ₽, Удалёнка (Москва)

Программист PHP/Laravel/Vue.js — до 200 000 ₽, Удалёнка (Москва)

Senior/Lead PHP Developer — от 2500 до 4000 $, Удалёнка (Москва)

➡️ Еще больше топовых вакансий — в нашем канале PHP Jobs
Иногда реально ощущение, что нас держат в Матрице.

Большинство сидит, читает статьи про ML, смотрит ролики «как это работает» — и всё.

Сегодня последний день промокода Lastcall (−5000 ₽).
Уже завтра стартует первый вебинар по Машинному обучению — полный набор для выхода из Матрицы.

Кто готов вырваться из симуляции и ворваться в сезон найма?

👾 — я уже в команде Нео
👍 — хочу красную таблетку
🤔 — пока думаю, но интересно

Забирай полный комплект для ML-разработки: Python + Математика + Машинное обучение.
🔥 Скидка 30% действует только до 9 сентября → забираем себе
🌚1
How to: Использование SQLite в продакшене с Laravel

SQLite — это отличная база данных для многих Laravel-приложений, особенно если ваша система не требует огромных масштабов. Она позволяет эффективно работать даже с большим количеством одновременных запросов, при этом не требуя сложной настройки сервера, как в случае с MySQL. Главным преимуществом SQLite является его простота: это один файл базы данных, который можно легко копировать, делая резервное копирование и миграцию простыми. В отличие от MySQL, который требует работы с демоном сервера и дополнительной настройки, SQLite использует ту же среду, в которой работает ваше приложение, минимизируя накладные расходы на межпроцессное взаимодействие.

Преимущества использования SQLite:

Легкость в настройке: Для работы SQLite достаточно лишь одного файла, что упрощает резервное копирование и перенос данных.

Минимизация накладных расходов: SQLite работает непосредственно в том же процессе, что и ваше приложение, исключая лишние расходы на сеть и межпроцессное взаимодействие.

Простота использования: Для большинства небольших и внутренних приложений SQLite может быть быстрее и проще, чем более сложные решения, такие как MySQL.

Этот подход подходит для приложений, которые не требуют огромной масштабируемости и могут работать на одном сервере.

В статье рассмотрены основные практические советы для использования SQLite с Laravel, включая улучшение производительности с помощью режима WAL и особенности работы с транзакциями.

👉 Читать статью

Библиотека пхпшника
Единый код валидаторов на фронте и бэке (PHP + FFI + Go + JS)

Когда фронт и бэк на разных языках (например, JS + PHP), часто приходится писать одинаковые валидаторы дважды. Это не только лишняя работа, но и риск ошибок, когда логика валидации на фронте и бэке не совпадает.

🎯 Решение: Используем FFI (Foreign Function Interface) для запуска JavaScript-кода на PHP с помощью Go. Это позволяет использовать один и тот же валидатор и на фронте, и на бэке, обеспечивая синхронизацию логики.

Преимущества: Один код для валидации на двух уровнях, меньше ошибок и проще поддержка.

🚨 Недостатки: Может быть немного медленно из-за FFI и проблемы с поддержкой юникодных символов в Go.

🔧 Хабр

Библиотека пхпшника
😁212😢1🌚1
composer/pcre — Библиотека-обертка для стандартных функций

Это обёртка над стандартными функциями PHP preg_*, которая:

Делает вызовы функций регулярных выражений безопаснее и удобнее.
Генерирует исключения при ошибках (вместо того, чтобы просто возвращать false и молчать).
Возвращает более предсказуемые результаты (например, всегда массив строк, а не false|null).
Упрощает написание кода и улучшает читаемость — не нужно постоянно проверять preg_last_error() или === false.

Для чего нужна
📦 В первую очередь библиотека используется внутри Composer, чтобы избежать неожиданных багов при работе с регулярками.
👨‍💻 Её можно использовать и в своих проектах, если хотите работать с регулярными выражениями в более строгом и типобезопасном стиле.

🔗 Github

Библиотека пхпшника

#инструменты
4👍2🔥1🌚1
Берём под контроль TODO-шки в коде php

Проблема со сложностью управления TODO/FIXME комментариями в коде очень стара. Ей больше 50 лет. Дошло до того, что в некоторых проектах начали запрещать их со словами: «или исправь сразу или не создавай мусор». Вот о том как можно автоматизировать управление ими и превратить из мусора в полезный инструмент и пойдет речь.

🔗 Хабр
Forwarded from Библиотека программиста | программирование, кодинг, разработка
This media is not supported in your browser
VIEW IN TELEGRAM
🎮 Добавь интерактива в свой contribution graph

GitHub Breakout — GitHub Action, который превращает твои коммиты в SVG в стиле Breakout, ежедневно обновляется и переключается между светлым/тёмным режимом 🤯

Это мы используем

🐸 Библиотека программиста
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰3
⭐️ Что спрашивать на собесе у HR

На собеседовании обычно всё внимание сосредоточено на вас: опыт, проекты, навыки. Но важно помнить — интервью это обоюдный процесс. Вы тоже выбираете компанию. И тут возникает вопрос: а что спрашивать в ответ?

Вопросы к HR:

• Как устроен процесс адаптации новых сотрудников?
• Какие возможности для роста есть у специалистов на моей позиции?
• Как компания относится к переработкам и work-life balance?
• Есть ли внутреннее обучение или компенсация внешних курсов?

Вопросы к будущей команде:

• Как проходит рабочий день: митинги, планирования, коммуникация?
• Как распределяются задачи и кто принимает решения по приоритетам?
• Как команда решает конфликты или технические споры?
• Чем гордятся в проекте, а что считают слабым местом?

👉 Какие вопросы вы задаёте на собеседованиях?

🐸Библиотека пхпшника

#междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
2
🎯 Команда дня: Сжатие и минификация CSS/JS через Node или PHP

📌 Команда (Node.js + Terser для JS):

npx terser src/app.js -o dist/app.min.js -c -m

💡 Команда минифицирует ваш JavaScript, сокращает код и уменьшает размер файлов, используя Terser.

📌 Команда (Node.js + CleanCSS для CSS):

npx clean-css-cli -o dist/style.min.css src/style.css

💡 Минифицирует CSS, удаляя пробелы, комментарии и упрощая записи, что ускоряет загрузку страницы.

🔍 Зачем это нужно?
🔹 Ускорение загрузки страниц: Меньший размер JS и CSS сокращает время передачи данных.
🔹 Оптимизация производительности: Минифицированный код обрабатывается браузером быстрее.
🔹 Чистый продакшн: Убираются ненужные пробелы и комментарии, что делает код компактным.

⚙️ Дополнительные опции Terser:
-c или --compress: Сжимает код, удаляя лишние конструкции.
-m или --mangle: Переименовывает переменные и функции, уменьшая размер.
--source-map: Генерирует source map для удобного дебага минифицированного кода.
Пример с source map:

npx terser src/app.js -o dist/app.min.js -c -m --source-map

⚙️ Дополнительные опции CleanCSS:
--compatibility — задаёт совместимость с браузерами.
--level — уровень оптимизации (1 или 2).

Пример:

npx clean-css-cli -o dist/style.min.css src/style.css --level 2

💡 Советы:
Для больших проектов удобно автоматизировать минификацию через npm scripts или Gulp/Webpack.

Минифицируйте только для production, чтобы не усложнять отладку на development.

Используйте source maps для удобного дебага минифицированного кода.
1
🔥 Последняя неделя перед стартом курса по AI-агентам

Старт курса уже 15го числа! Если вы планировали вписаться — сейчас ПОСЛЕДНИЙ шанс забронировать место

На курсе:
разложим LLM по косточкам: токенизация, SFT, PEFT, инференс
— соберём RAG и научимся оценивать его адекватно
— построим настоящую мультиагентную систему — архитектуру, которая умеет расти
— разберём CoPilot, сломаем через prompt injection (спасибо Максу)
— и наконец, посмотрим, как это работает в MCP и реальных кейсах

📍 Это 5 живых вебинаров + раздатка + домашки + чат с преподавателями

И главное — возможность реально разобраться, как проектировать системы на LLM, а не просто «поиграться с API»

Промокод на 5.000₽: LASTCALL

👉 Курс здесь
🚀 PHP Enums: когда стоит, а когда нет

Enums в PHP — это не просто «ещё один класс», а особый тип данных, который позволяет жёстко зафиксировать набор возможных значений. Это повышает надёжность кода и избавляет от лишних проверок вроде in_array() или громоздких switch-конструкций.

Но не спешите вставлять их повсюду:
Если набор значений часто меняется или расширяется пользователями/третьими системами.
Если список тривиален и не планируется расти.
При рефакторинге легаси — Enums не для того, чтобы заменить всё подряд.

🔑 Где Enum действительно уместен
Фиксированные списки (статусы поста, роли пользователей, сетевые состояния).
Там, где нужна строгая типизация и меньше защитного кода.
В DDD — как часть доменной модели (например, value objects).

Бонусы:
Меньше ручных проверок и исключений.
Код становится чище, предсказуемее.
Удобнее работать с типами при сериализации, хранении в БД и локализации.

💡 Практика:
Для хранения в базе → используйте backed enum (enum UserRole: string).
Для сложной логики или локализации → лучше чистый enum с методами (label()).
Договоритесь в команде о единых правилах (например, всегда использовать метод label()).

🔗 Читать статью

Библиотека пхпшника
🔥2
NumPower — сложные вычисления на PHP

Расширение PHP для эффективных научных вычислений и работы с массивами данных с поддержкой GPU.

Посмотрите эту простую нейронную сеть, созданную на PHP с нуля с помощью NumPower.

🔗 Github

Библиотека пхпшника

#инструменты
7😁2