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

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

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

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

РКН: https://gosuslugi.ru/snet/67a5d13cd6fa92100ee6f68b
Download Telegram
🤓 Пока 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 scripts для автоматизации

Если ты 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 октября — получишь базовый курс в подарок.

👉 Записаться на курс
🐘 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 ноября, не упусти бонус!🎁
💡 Совет по Laravel: метод «containsOneItem»

Иногда нам нужно убедиться, что коллекция содержит только один элемент. Вместо того чтобы вызывать метод count для коллекции, знаете ли вы, что есть элегантный метод containsOneItem(), который делает то же самое? 🚀

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

#vardump
👍9😁62👾1
🔥 Laravel + Битрикс: союз, который не должен был случиться

«Если ваш Битрикс тормозит, а Laravel кажется из другой вселенной — это статья для вас.»


Команда KISLOROD доказала, что миры можно объединить 🌍
Без форков, боли SEO-шников и падений 1С.

🧩 Что сделали:
— Laravel стал «соседом» Битрикса: берет на себя API, каталоги, фильтры, уведомления.
— Битрикс остался админкой и управляет коммерцией.
— Авторизация через JWT, события через Redis Streams, наблюдаемость через OpenTelemetry и Prometheus.

🚀 Результат:
Каталог отвечает за 150 мс, корзина — за 120 мс, заказы летят без тормозов.
А фронт теперь ходит в стабильный API и вообще не знает о Битриксе.

💡 Почему это важно:
Можно эволюционно мигрировать с монолита к headless-архитектуре — без боли и ночных деплоев.

📖 Полная статья на Хабре

Чтобы также проектировать приложения советуем пройти наш интенсив по архитектуре пока он со скидкой!

Библиотека пхпшника
😁103👍2🔥2
💡 Монолит против микросервисов: кто реально выигрывает?

Когда слышите слово «монолит», что первое приходит в голову?
👉 «Legacy», «тормозит», «нужно распилить»?
А зря. Хорошо спроектированный монолит может быть быстрее, надёжнее и проще в поддержке, чем плохо реализованные микросервисы. И вот почему 👇

🚧 Миф о «микросервисы = современно»
Архитектура — не мода. Она должна соответствовать структуре команды и бизнес-целям, а не трендам.

⚙️ Скрытая сложность
Каждый микросервис = отдельный репозиторий, пайплайн, конфиг, деплой.
В PHP это часто означает 5 Laravel-проектов с дублированной логикой и разъехавшимися зависимостями.

🏎️ Скорость против хаоса
Монолит → единый деплой, тесты и целостность.
Микросервисы → интеграционные баги, версия API, синхронизация.

🧱 Модульность — это не Kubernetes
DDD позволяет сделать монолит модульным: чёткие границы, без сетевых вызовов и лишней задержки.

🧭 Главное — стратегическая простота
Микросервисы не зло, просто они дорогие.
Начни с чистого монолита, вырасти в микросервисы — не наоборот.

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

#элементарный_выбор
👍10😁3