This media is not supported in your browser
VIEW IN TELEGRAM
В proglib.academy — Глобальная распродажа знаний ‼️
💥 Весь октябрь –40% на те курсы, которые выбирают чаще всего.
👉 Успей забрать свой курс на proglib.academy
💥 Весь октябрь –40% на те курсы, которые выбирают чаще всего.
Курсы с практикой, без воды и пафоса.
Просто берёшь и делаешь апгрейд.
👉 Успей забрать свой курс на proglib.academy
🥱6🙏1🌚1
Forwarded from Библиотека задач по PHP | тесты, код, задания
Что будет выведено в результате работы кода?
Forwarded from Библиотека задач по PHP | тесты, код, задания
Что будет выведено в результате работы кода?
Anonymous Quiz
41%
Hello World
8%
Hello
10%
WorldHello
18%
WorldHello 1
23%
Ошибка
😢4🥱1
Введение в MongoDB и настройка Laravel-MongoDB
В статье показано, как связать Laravel с MongoDB и построить полноценный блог с полиморфными моделями и поиском — без боли SQL-таблиц и JOIN-ов.
⚙️ Что внутри
Разбор основ MongoDB и её преимуществ над SQL (динамическая схема, отсутствие
Настройка Laravel-проекта с подключением MongoDB Atlas.
Создание полиморфных моделей —
Реализация CRUD-операций, поиска и категорий контента.
Использование MongoDB-фишек — массивов, вложенных документов, агрегаций и индексов.
💡 Главное преимущество
MongoDB позволяет хранить разные типы контента в одной коллекции без миграций и строгих схем.
Добавляете поле в модель — и оно уже работает.
📈 В итоге: Laravel остаётся удобным как Eloquent, но становится гибким, как NoSQL.
А блог из туториала — готовая база для любых CMS или knowledge-систем.
👉 Читать статью
Библиотека пхпшника
В статье показано, как связать 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
Теперь можно полностью убрать верхнюю панель (
Отлично подойдёт для дашбордов и кастомных админок.
🧱 Rich Editor стал взрослее
🖋️ Grid Tool — вставляйте адаптивные сетки (до 12 колонок) прямо в контент.
🎨 Text Color Tool — добавляйте цвет текста из палитры Tailwind или своих кастомных оттенков, с автоматической адаптацией под тёмную тему.
📋 Компактные таблицы и повторители
А
🚫 Новый компонент Empty State
Добавляйте дружелюбные пустые состояния с иконкой, описанием и кнопкой действия:
Больше никаких унылых «ничего не найдено».
🧩 Экосистема плагинов растёт
🔗 Уже 224 плагина для Filament v4!
Из свежих фаворитов:
Passkeys — вход без пароля
Prizm Theme — новый стильный UI
Header Select — улучшенные селекты в таблицах
🚀 Обновиться можно одной командой:
Библиотека пхпшника
#свежак
Команда 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')->description('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 ноября
👉 Записаться на курс
В 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 — просто ставим пакет:
Затем публикуем конфигурацию:
🧩 2. Подключаем трейт к модели администратора
Теперь именно эта модель будет защищена 2FA.
🔒 3. Добавляем middleware в Nova
Откройте config/nova.php и добавьте посредник пакета в список middleware:
🧰 4. Регистрируем инструмент в NovaServiceProvider
После этого в меню появится пункт Two Factor Auth, где админ сможет включить 2FA.
🧭 5. Кастомное меню? Добавьте пункт вручную
Теперь 2FA появится и в вашем пользовательском меню.
💡 Совет
Если вы хотите убрать ограничение по IP, просто измените gate в NovaServiceProvider:
⚠️ Только не удаляйте gate полностью — Nova этого не простит!
🛡 После включения 2FA при каждом входе администратору нужно будет ввести OTP-код — защита станет заметно прочнее, а доступ под контролем.
Библиотека пхпшника
Админка — место, где безопасность особенно важна. Даже если 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 с нами уже давно, но вы задумывались, как они реально работают внутри? Давайте разберёмся, что там происходит под капотом.
🔗 Хабр
Библиотека пхпшника
Enum’ы в PHP с нами уже давно, но вы задумывались, как они реально работают внутри? Давайте разберёмся, что там происходит под капотом.
🔗 Хабр
Библиотека пхпшника
🔥5❤1
Если ты PHP-разработчик, наверняка часто выполняешь одни и те же команды: тесты, линтинг, очистка кэша… Зачем делать это вручную, если можно настроить Composer scripts и запускать всё одной командой?
🔍 Как это работает:
В composer.json можно добавить раздел scripts:
"scripts": {
"test": "phpunit",
"lint": "phpcs src/",
"clear-cache": "rm -rf cache/"
}Теперь вместо того, чтобы вводить каждую команду вручную, достаточно:
composer test
composer lint
composer clear-cache
⚡️ Почему это удобно:
✅ Экономия времени — все рутинные задачи в одном месте
✅ Консистентность — вся команда использует одни и те же команды
✅ Легкая интеграция в CI/CD — просто запускаешь скрипт
💡 Совет: можно объединять скрипты и делать цепочки, например:
"scripts": {
"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 октября — получишь базовый курс в подарок.
👉 Записаться на курс
На экспресс-курсе «Математика для Data Science» — викторина с призом TG-Premium 🎁
Проверь знания, прокачай математику и забери приз.
‼️ Оплатишь до 19 октября — получишь базовый курс в подарок.
👉 Записаться на курс
🐘 PHP для начинающих: Blade Components и Slots — чистый код без усилий
Когда шаблоны в Laravel начинают превращаться в HTML-спагетти, на помощь приходят Blade Components и Slots.
Они позволяют разбивать интерфейс на модульные и переиспользуемые элементы, избавляясь от копипаста и упрощая поддержку проекта.
🔧 Зачем они нужны
Компоненты дают возможность описать один раз кусок интерфейса (например, карточку, алерт или модалку) и использовать его где угодно в проекте.
Slots позволяют вставлять внутрь таких компонентов любой контент — текст, разметку, другие компоненты.
🎨 В итоге вы получаете
🔸 чище и понятнее Blade-шаблоны
🔸 меньше повторений
🔸 гибкую структуру с возможностью передачи данных и кастомизации
🔸 переиспользуемые куски UI, похожие на React-компоненты
👉 Читать статью
Это уже не «Hello World» писать. Для таких решений нужно знать не только язык. Подтянуть архитектуру можно на нашем интенсиве. До конца октября со скидкой!
Библиотека пхпшника
#php_азбука
Когда шаблоны в Laravel начинают превращаться в HTML-спагетти, на помощь приходят Blade Components и Slots.
Они позволяют разбивать интерфейс на модульные и переиспользуемые элементы, избавляясь от копипаста и упрощая поддержку проекта.
🔧 Зачем они нужны
Компоненты дают возможность описать один раз кусок интерфейса (например, карточку, алерт или модалку) и использовать его где угодно в проекте.
Slots позволяют вставлять внутрь таких компонентов любой контент — текст, разметку, другие компоненты.
🎨 В итоге вы получаете
🔸 чище и понятнее Blade-шаблоны
🔸 меньше повторений
🔸 гибкую структуру с возможностью передачи данных и кастомизации
🔸 переиспользуемые куски UI, похожие на React-компоненты
👉 Читать статью
Это уже не «Hello World» писать. Для таких решений нужно знать не только язык. Подтянуть архитектуру можно на нашем интенсиве. До конца октября со скидкой!
Библиотека пхпшника
#php_азбука
Эрик Рэймонд, одна из ключевых фигур в истории open source и автор The Cathedral and the Bazaar, резко высказался о кодексах поведения в проектах с открытым исходным кодом.
По его словам, за десять лет стало ясно: «Codes of Conduct» не укрепляют сообщество, а наоборот превращаются в источник конфликтов, политики и бессмысленной драмы.
Рэймонд предлагает радикальное решение — полностью отказаться от подобных документов. А если формально без них нельзя, заменить всё одной фразой: «Если работа с вами доставляет больше неудобств, чем того требует ваш вклад, вас выгонят».
У нас тоже есть свой X
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤1
Недавно мы анонсировали старт нового курса «Математика для Data Science».
В ближайшие дни выйдет серия постов о том, что ждёт вас на курсе, а пока познакомим вас с его экспертами.
Спикеры курса:
👤 Ксения Кондаурова
Преподаватель и автор курсов для бакалавриата Центрального Университета (Т-Банк), спикер и методист для Edutoria (Сбербанк). Ксения расскажет, как линейная алгебра применяется для построения предсказательных моделей, и научит проверять гипотезы для бизнеса с помощью статистики.
👤 Диана Миронидис
Преподаватель НИУ ВШЭ, автор и методист Яндекс Практикума. Самый экстравагантный преподаватель из всех, с кем вы учились, — убедитесь, что математика может быть нескучной. Диана погрузит в математический анализ, научит исследовать функции и находить параметры, при которых ошибка модели минимальна.
👤 Маргарита Бурова
Академический руководитель образовательных программ по аналитике и анализу данных, Wildberries & Russ. Проведёт квиз с розыгрышем годовой подписки TG Premium. Маргарита — эксперт в дата-сайенс, ИИ и математических методах анализа данных, фанат развития ИТ-образования.
Вместе с экспертами за 8 недель вы не просто получите знания, а познакомитесь с математикой заново.
🎁 Только при оплате до 19 октября курс «Базовая математика» в подарок!
👉 Записаться на курс
В ближайшие дни выйдет серия постов о том, что ждёт вас на курсе, а пока познакомим вас с его экспертами.
Спикеры курса:
👤 Ксения Кондаурова
Преподаватель и автор курсов для бакалавриата Центрального Университета (Т-Банк), спикер и методист для Edutoria (Сбербанк). Ксения расскажет, как линейная алгебра применяется для построения предсказательных моделей, и научит проверять гипотезы для бизнеса с помощью статистики.
👤 Диана Миронидис
Преподаватель НИУ ВШЭ, автор и методист Яндекс Практикума. Самый экстравагантный преподаватель из всех, с кем вы учились, — убедитесь, что математика может быть нескучной. Диана погрузит в математический анализ, научит исследовать функции и находить параметры, при которых ошибка модели минимальна.
👤 Маргарита Бурова
Академический руководитель образовательных программ по аналитике и анализу данных, Wildberries & Russ. Проведёт квиз с розыгрышем годовой подписки TG Premium. Маргарита — эксперт в дата-сайенс, ИИ и математических методах анализа данных, фанат развития ИТ-образования.
Вместе с экспертами за 8 недель вы не просто получите знания, а познакомитесь с математикой заново.
🎁 Только при оплате до 19 октября курс «Базовая математика» в подарок!
👉 Записаться на курс
🧠 Опишите свой день одним коммитом
Пример:
Каждый день — как новый релиз с багами и надеждой на hotfix 😅
👇 Пишите свой коммит в комментариях
Библиотека пхпшника
#байтовый_юмор
Пример:
git commit -m «fix everything again»Каждый день — как новый релиз с багами и надеждой на hotfix 😅
👇 Пишите свой коммит в комментариях
Библиотека пхпшника
#байтовый_юмор
😁1
Forwarded from Книги для программистов
Все мы знаем: жизнь коротка, а правки от заказчика — вечны. Сегодня нужно просто добавить кнопку «Купить», завтра — внедрить «модуль предсказания желания покупателя на основе ИИ».
Книга учит писать код, который не сломается от одного слова «поменялись требования». Автор — не только фанат SOLID и паттернов, но и мастер того, как сделать так, чтобы твой код не превращался в спагетти после первого рефакторинга.
📌 Что внутри:
Please open Telegram to view this post
VIEW IN TELEGRAM
♾️ 17 формул, которые изменили мир
Математика в действии — как уравнения, придуманные века назад, сегодня управляют интернетом, медициной, космосом и вашими финансами.
📎 Читать статью
А если после статьи захотите разобраться, как эта математика работает в Data Science — вот экспресс-курс, который всё расставит по полочкам:
«Математика для Data Science»
🎓 За 2 месяца поймёте, как работают алгоритмы ML под капотом.
🗓️ Старт — 6 ноября
👉 Записаться на курс
Математика в действии — как уравнения, придуманные века назад, сегодня управляют интернетом, медициной, космосом и вашими финансами.
📎 Читать статью
А если после статьи захотите разобраться, как эта математика работает в 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
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