Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter – Telegram
Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter
11K subscribers
1.52K photos
25 videos
26 files
4.24K links
Все самое полезное для пхпшника в одном канале.

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

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

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

РКН: https://gosuslugi.ru/snet/67a5d13cd6fa92100ee6f68b
Download Telegram
Что будет выведено в результате работы кода?
Введение в MongoDB и настройка Laravel-MongoDB

В статье показано, как связать Laravel с MongoDB и построить полноценный блог с полиморфными моделями и поиском — без боли SQL-таблиц и JOIN-ов.

⚙️ Что внутри
Разбор основ MongoDB и её преимуществ над SQL (динамическая схема, отсутствие NULL, масштабирование из коробки).
Настройка Laravel-проекта с подключением MongoDB Atlas.
Создание полиморфных моделейPost, Article, Tutorial — которые живут в одной коллекции contents, но имеют разные поля.
Реализация CRUD-операций, поиска и категорий контента.
Использование MongoDB-фишек — массивов, вложенных документов, агрегаций и индексов.

💡 Главное преимущество
MongoDB позволяет хранить разные типы контента в одной коллекции без миграций и строгих схем.
Добавляете поле в модель — и оно уже работает.

📈 В итоге: Laravel остаётся удобным как Eloquent, но становится гибким, как NoSQL.
А блог из туториала — готовая база для любых CMS или knowledge-систем.

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

Библиотека пхпшника
🎉 Filament v4.1 — апдейт, который приятно почувствовать руками

Команда Filament выкатала свежий релиз v4.1 — и это не просто мелкий патч.
🔧 156 багфиксов и 💡 39 новых фич сделали фреймворк ещё гибче и приятнее для разработки.

💥 Что нового

🧭 Новый макет панели без Topbar
Теперь можно полностью убрать верхнюю панель (->topbar(false)), перенести поиск и меню пользователя в боковую часть — и получить максимум вертикального пространства.
Отлично подойдёт для дашбордов и кастомных админок.

🧱 Rich Editor стал взрослее
🖋️ Grid Tool — вставляйте адаптивные сетки (до 12 колонок) прямо в контент.
🎨 Text Color Tool — добавляйте цвет текста из палитры Tailwind или своих кастомных оттенков, с автоматической адаптацией под тёмную тему.

📋 Компактные таблицы и повторители
Repeater теперь поддерживает компактный режим (->compact()), который делает поля аккуратными внутри таблицы.
А RepeatableEntry получил табличный вывод — можно красиво отображать данные, иконки и изображения в ячейках.

🚫 Новый компонент Empty State
Добавляйте дружелюбные пустые состояния с иконкой, описанием и кнопкой действия:

EmptyState::make('No users yet')->denoscription('Get started by creating a new user.')

Больше никаких унылых «ничего не найдено».

🧩 Экосистема плагинов растёт
🔗 Уже 224 плагина для Filament v4!
Из свежих фаворитов:
Passkeys — вход без пароля
Prizm Theme — новый стильный UI
Header Select — улучшенные селекты в таблицах

🚀 Обновиться можно одной командой:

composer update filament/*

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

#свежак
2🔥2
🤓 Пока Python стал π-thon, ты можешь стать Data Scientist'ом

В Proglib.academy стартует экспресс-курс «Математика для Data Science»: 10 живых вебинаров, практика на Python и спикеры из ВШЭ, Яндекс Практикума и Wildberries, которые всё разложат по полочкам.

В программе:
🔹 матан, линал, теория вероятностей;
🔹 3 практических проекта + викторина с розыгрышем TG Premium;
🔹 поддержка преподавателей и чат с единомышленниками;

🎁 Оплати курс до 19 октября — получи курс по базовой математике в подарок.
🗓️ Старт — 6 ноября

👉 Записаться на курс
🥱5
🔐 How to: добавить двухфакторную аутентификацию (2FA) в Laravel Nova

Админка — место, где безопасность особенно важна. Даже если Laravel Nova уже неплохо защищена, базовых мер (типа IP-фильтров) может быть недостаточно. Простое и надёжное решение — двухфакторная аутентификация.

Сегодня разберём, как добавить её в Nova буквально за 5 минут с помощью пакета Nova Two Factor.

⚙️ 1. Установка

Для Nova 5 — просто ставим пакет:

composer require visanduma/nova-two-factor:~3



Затем публикуем конфигурацию:

php artisan vendor:publish --provider="Visanduma\NovaTwoFactor\ToolServiceProvider"


🧩 2. Подключаем трейт к модели администратора
use Visanduma\NovaTwoFactor\ProtectWith2FA;

class Admin extends Authenticatable
{
use ProtectWith2FA;
}


Теперь именно эта модель будет защищена 2FA.

🔒 3. Добавляем middleware в Nova

Откройте config/nova.php и добавьте посредник пакета в список middleware:
'middleware' => [
...,
\Visanduma\NovaTwoFactor\Http\Middleware\TwoFa::class,
],


🧰 4. Регистрируем инструмент в NovaServiceProvider
public function tools()
{
return [
...,
new \Visanduma\NovaTwoFactor\NovaTwoFactor(),
];
}


После этого в меню появится пункт Two Factor Auth, где админ сможет включить 2FA.

🧭 5. Кастомное меню? Добавьте пункт вручную
Nova::mainMenu(function (Request $request) {
return [
MenuSection::make('Two Factor Auth', [
MenuItem::link('2FA', 'nova-two-factor'),
])->icon(config('nova-two-factor.menu_icon')),
];
});


Теперь 2FA появится и в вашем пользовательском меню.

💡 Совет


Если вы хотите убрать ограничение по IP, просто измените gate в NovaServiceProvider:
protected function gate()
{
Gate::define('viewNova', fn (\App\Models\Admin $user) => true);
}


⚠️ Только не удаляйте gate полностью — Nova этого не простит!

🛡 После включения 2FA при каждом входе администратору нужно будет ввести OTP-код — защита станет заметно прочнее, а доступ под контролем.

Библиотека пхпшника
👍1
🧐 Хочешь в Data Science, но не знаешь, с чего начать?

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

Всего пару минут — и ты поймёшь, куда двигаться дальше.


👉 Пройти тест
Как устроены перечисления в PHP

Enum’ы в PHP с нами уже давно, но вы задумывались, как они реально работают внутри? Давайте разберёмся, что там происходит под капотом.

🔗 Хабр

Библиотека пхпшника
🔥51
😀 Лайфхак: Composer noscripts для автоматизации

Если ты PHP-разработчик, наверняка часто выполняешь одни и те же команды: тесты, линтинг, очистка кэша… Зачем делать это вручную, если можно настроить Composer noscripts и запускать всё одной командой?

🔍 Как это работает:

В composer.json можно добавить раздел noscripts:
"noscripts": {
"test": "phpunit",
"lint": "phpcs src/",
"clear-cache": "rm -rf cache/"
}


Теперь вместо того, чтобы вводить каждую команду вручную, достаточно:
composer test
composer lint
composer clear-cache


⚡️ Почему это удобно:

Экономия времени — все рутинные задачи в одном месте

Консистентность — вся команда использует одни и те же команды

Легкая интеграция в CI/CD — просто запускаешь скрипт

💡 Совет: можно объединять скрипты и делать цепочки, например:
"noscripts": {
"prepare": [
"composer clear-cache",
"composer lint",
"composer test"
]
}

Затем:
composer prepare



И сразу очищается кэш, проверяется код и запускаются тесты!

Библиотека пхпшника
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9
🎲 Мы не только учим, но и играем!

На экспресс-курсе «Математика для Data Science» — викторина с призом TG-Premium 🎁
Проверь знания, прокачай математику и забери приз.

‼️ Оплатишь до 19 октября — получишь базовый курс в подарок.

👉 Записаться на курс
🐘 PHP для начинающих: Blade Components и Slots — чистый код без усилий

Когда шаблоны в Laravel начинают превращаться в HTML-спагетти, на помощь приходят Blade Components и Slots.
Они позволяют разбивать интерфейс на модульные и переиспользуемые элементы, избавляясь от копипаста и упрощая поддержку проекта.

🔧 Зачем они нужны
Компоненты дают возможность описать один раз кусок интерфейса (например, карточку, алерт или модалку) и использовать его где угодно в проекте.
Slots позволяют вставлять внутрь таких компонентов любой контент — текст, разметку, другие компоненты.

🎨 В итоге вы получаете
🔸 чище и понятнее Blade-шаблоны
🔸 меньше повторений
🔸 гибкую структуру с возможностью передачи данных и кастомизации
🔸 переиспользуемые куски UI, похожие на React-компоненты

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

Это уже не «Hello World» писать. Для таких решений нужно знать не только язык. Подтянуть архитектуру можно на нашем интенсиве. До конца октября со скидкой!

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

#php_азбука
👨‍💻 Open source без правил

Эрик Рэймонд, одна из ключевых фигур в истории open source и автор The Cathedral and the Bazaar, резко высказался о кодексах поведения в проектах с открытым исходным кодом.

По его словам, за десять лет стало ясно: «Codes of Conduct» не укрепляют сообщество, а наоборот превращаются в источник конфликтов, политики и бессмысленной драмы.

Рэймонд предлагает радикальное решение — полностью отказаться от подобных документов. А если формально без них нельзя, заменить всё одной фразой: «Если работа с вами доставляет больше неудобств, чем того требует ваш вклад, вас выгонят».

➡️ Пост в X от Эрика

💬 Что думаете? Кодекс поведения В С Ё ?

У нас тоже есть свой X

🐸 Библиотека пхпшника
Please open Telegram to view this post
VIEW IN TELEGRAM
👍41
✔️В Laravel можно использовать метод rawValue(), чтобы получить значение из SQL-выражения.
👍11🥱6🤔2
Недавно мы анонсировали старт нового курса «Математика для Data Science».

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

Спикеры курса:

👤 Ксения Кондаурова
Преподаватель и автор курсов для бакалавриата Центрального Университета (Т-Банк), спикер и методист для Edutoria (Сбербанк). Ксения расскажет, как линейная алгебра применяется для построения предсказательных моделей, и научит проверять гипотезы для бизнеса с помощью статистики.

👤 Диана Миронидис
Преподаватель НИУ ВШЭ, автор и методист Яндекс Практикума. Самый экстравагантный преподаватель из всех, с кем вы учились, — убедитесь, что математика может быть нескучной. Диана погрузит в математический анализ, научит исследовать функции и находить параметры, при которых ошибка модели минимальна.

👤 Маргарита Бурова
Академический руководитель образовательных программ по аналитике и анализу данных, Wildberries & Russ. Проведёт квиз с розыгрышем годовой подписки TG Premium. Маргарита — эксперт в дата-сайенс, ИИ и математических методах анализа данных, фанат развития ИТ-образования.

Вместе с экспертами за 8 недель вы не просто получите знания, а познакомитесь с математикой заново.

🎁 Только при оплате до 19 октября курс «Базовая математика» в подарок!

👉 Записаться на курс
🧠 Опишите свой день одним коммитом

Пример:
git commit -m «fix everything again»
Каждый день — как новый релиз с багами и надеждой на hotfix 😅

👇 Пишите свой коммит в комментариях

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

#байтовый_юмор
😁1
📚 Adaptive Code: Agile coding with design patterns and SOLID principles, 2nd Edition (2017)

Все мы знаем: жизнь коротка, а правки от заказчика — вечны. Сегодня нужно просто добавить кнопку «Купить», завтра — внедрить «модуль предсказания желания покупателя на основе ИИ».

Книга учит писать код, который не сломается от одного слова «поменялись требования». Автор — не только фанат SOLID и паттернов, но и мастер того, как сделать так, чтобы твой код не превращался в спагетти после первого рефакторинга.

📌 Что внутри:

🔴Как жить с Kanban и Scrum и при этом не страдать
🔴Dependency injection без боли и магии
🔴«Золотой мастер» для тех, кто боится трогать легаси
🔴Юнит-тесты, которые реально помогают, а не пишутся «для отчёта»
🔴И, конечно, принципы SOLID

🔗 Скачать
🤞 Поддержать канал бустом

🐸 Книги для программистов
Please open Telegram to view this post
VIEW IN TELEGRAM
♾️ 17 формул, которые изменили мир

Математика в действии — как уравнения, придуманные века назад, сегодня управляют интернетом, медициной, космосом и вашими финансами.

📎 Читать статью

А если после статьи захотите разобраться, как эта математика работает в Data Science — вот экспресс-курс, который всё расставит по полочкам:

«Математика для Data Science»
— практика и живые уроки
— разбор кода и проверка домашних
— поддержка в Telegram-чате


🎓 За 2 месяца поймёте, как работают алгоритмы ML под капотом.
🗓️ Старт — 6 ноября

👉 Записаться на курс
1
⌨️ Топ-вакансий по PHP за неделю

Backend-разработчик (Laravel) — от 4 000 $, Удалёнка (Москва)

PHP-разработчик (Symfony) — от 160 000 ₽, Удаленка (Москва)

РНР Developer (Yii 2) — от 250 000 до 300 000 ₽, Удалёнка (Москва)

Team Lead (PHP / Bitrix) — от 298 900 до 459 800 ₽, Удалёнка (Москва)

➡️ Еще больше топовых вакансий — в нашем канале PHP Jobs
👍1
Сегодня последний день!

🎁 Только при оплате до 19 октября — курс «Базовая математика» в подарок!

Успей попасть на экспресс-курс «Математика для Data Science»10 живых вебинаров, практика на Python, поддержка менторов и преподаватели из ВШЭ, Яндекс Практикума и Wildberries.

За 2 месяца разберёшься с тем, на чём держится Data Science:
• векторы, матрицы и регрессия;
• градиенты, оптимизация, вероятности и статистика;
• реальные задачи анализа данных;


🎓 Построишь математический фундамент и поймёшь, как работают алгоритмы ML под капотом.

👉 Записаться на курс

Старт — 6 ноября, не упусти бонус!🎁