#laratip
Валідація пароля: робимо це правильно в Laravel
Багато хто досі перевіряє поточний пароль вручну в контролері через
Що тут відбувається:
Senior-порада:
Якщо ви використовуєте Clean Architecture або DDD, не затягуйте логіку
Для проектів з високим навантаженням на БД, правило
Валідація пароля: робимо це правильно в Laravel
Багато хто досі перевіряє поточний пароль вручну в контролері через
Hash::check. Я дуже часто це бачу у ваших кодових базах, коли ми працюємо на менторських програмах. Це легасі-підхід, який роздуває код. На скріні — чистий спосіб через Form Request.Що тут відбувається:
current_password: вбудоване правило Laravel. Воно автоматично звіряє введене значення з хешем пароля автентифікованого користувача. Більше ніяких ручних перевірок.confirmed: стандарт, що вимагає наявності поля new_password_confirmation. Позбавляє від помилок при вводі нового пароля.different:current_password: маст-хев для UX та безпеки. Не даємо юзеру змінити пароль на той самий, що вже встановлений.unique:users,email: перевірка унікальності імейла. Але зверни увагу: якщо це оновлення профілю, тут бракує ігнорування поточного ID користувача, інакше валідація впаде на "email вже зайнятий".Senior-порада:
Якщо ви використовуєте Clean Architecture або DDD, не затягуйте логіку
Hash::make() у валідатор. Валідатор лише перевіряє вхідні дані. Сама ж операція хешування та збереження має жити в Action-класі або Domain Service.Для проектів з високим навантаженням на БД, правило
unique краще доповнити unique:users,email,'.auth()->id(), щоб валідатор знав, що ми оновлюємо саме цей запис.🔥5👍1👏1
Що ж, понеділок знову увірвався коли його не очікуєш і знову без світла на дового 🙄
І тут нам батя Тейлор анонсував, що нам треба переставати звикати до властивостей в класах Laravel і переповзати на використання атрибутів.
При тому, залишається зворотна сумісність з використанням властивостей.
І знаєте що? Мені таке дуже подобається. На мою скромну думку, код з використанням атрибутів стає більш читабельним та передбачуваним. PHP все біль більше стає дорослою, зрілою мовою з сімейства C.
А якої думки ви з цього питання, пишіть в коментарях! Гарного понеділка та смачної кави!
https://github.com/laravel/framework/pull/58578
І тут нам батя Тейлор анонсував, що нам треба переставати звикати до властивостей в класах Laravel і переповзати на використання атрибутів.
При тому, залишається зворотна сумісність з використанням властивостей.
І знаєте що? Мені таке дуже подобається. На мою скромну думку, код з використанням атрибутів стає більш читабельним та передбачуваним. PHP все біль більше стає дорослою, зрілою мовою з сімейства C.
А якої думки ви з цього питання, пишіть в коментарях! Гарного понеділка та смачної кави!
https://github.com/laravel/framework/pull/58578
👍10🔥2🕊1
Forwarded from houkotosayame
В мене один з ейчарів просить дати рекомендацію на пхп розробника рівня сеньйор, можливо комусь потрібно в чаті
NativePHP for Mobile став частково безкоштовним.
Це змінює правила гри для PHP-ком'юніті. Якщо раніше це була закрита історія, то тепер Core і критично важливі плагіни перевели під ліцензію MIT. Фактично, поріг входу в мобільну розробку на Laravel знизився до нуля.
Деталі оновлення:
- Essential-плагіни (Free):
У базу включили все необхідне для типової CRUD-апки або клієнтського інтерфейсу: доступ до камери, файлової системи, мікрофону, мережі, системних діалогів та шерингу. Тобто 80% типових задач закриваються безкоштовно.
- Premium-плагіни (One-time purchase):
Специфічні фічі винесли в платний сегмент. Це біометрія (FaceID/TouchID), геолокація, пуш-сповіщення, сканер кодів та Secure Storage. Важливо, що це не підписка, а разова покупка. Для комерційного проєкту — копійки, для пет-проєкту — можна обійтися базою.
- Developer Experience (DX):
Тут найцікавіше — інструмент Jump. Це компаньйон-застосунок, який дозволяє тестувати код на реальному iOS/Android пристрої без необхідності компілювати білди.
Запускаєш
Архітектурно це все ще обгортка, але з такою інтеграцією в екосистему Laravel (Events, Queues, Eloquent) це виглядає як найбільш "нативний" спосіб для PHP-розробника зробити мобільний додаток, не вивчаючи Swift чи Kotlin.
Це змінює правила гри для PHP-ком'юніті. Якщо раніше це була закрита історія, то тепер Core і критично важливі плагіни перевели під ліцензію MIT. Фактично, поріг входу в мобільну розробку на Laravel знизився до нуля.
Деталі оновлення:
- Essential-плагіни (Free):
У базу включили все необхідне для типової CRUD-апки або клієнтського інтерфейсу: доступ до камери, файлової системи, мікрофону, мережі, системних діалогів та шерингу. Тобто 80% типових задач закриваються безкоштовно.
- Premium-плагіни (One-time purchase):
Специфічні фічі винесли в платний сегмент. Це біометрія (FaceID/TouchID), геолокація, пуш-сповіщення, сканер кодів та Secure Storage. Важливо, що це не підписка, а разова покупка. Для комерційного проєкту — копійки, для пет-проєкту — можна обійтися базою.
- Developer Experience (DX):
Тут найцікавіше — інструмент Jump. Це компаньйон-застосунок, який дозволяє тестувати код на реальному iOS/Android пристрої без необхідності компілювати білди.
Запускаєш
php artisan native:jump — і маєш лайв-прев'ю. Ті, хто хоч раз налаштовував оточення для React Native або Flutter, зрозуміють, скільки болю це знімає на старті.Архітектурно це все ще обгортка, але з такою інтеграцією в екосистему Laravel (Events, Queues, Eloquent) це виглядає як найбільш "нативний" спосіб для PHP-розробника зробити мобільний додаток, не вивчаючи Swift чи Kotlin.
🔥12
KRUHLYK 🇺🇦
Що ж, понеділок знову увірвався коли його не очікуєш і знову без світла на дового 🙄 І тут нам батя Тейлор анонсував, що нам треба переставати звикати до властивостей в класах Laravel і переповзати на використання атрибутів. При тому, залишається зворотна…
Десь так очікуємо в Laravel 13. Огляд, як завжди, на каналі після релізу.
👍6
Коли замовник хоче AI-агента навіть у лендос для продажу шкарпеток...
В часи, коли бізнес вимагає впихнути "штучний інтелект" у кожну дірку (і бажано "на вчора"), ми отримали справжній рятівний круг.
Вийшла бета Laravel AI SDK! І це саме той інструмент, який перетворює хаос інтеграцій на елегантний код.
Замість того, щоб писати милиці під кожен API і винаходити велосипед щоразу, коли клієнт змінює думку щодо провайдера, ловіть офіційний пакет.
Що під капотом?
Агенти із суперздібностями.
Створюй агентів, які мають доступ до інструментів (tools), пам'яті та вміють віддавати структуровані дані. Все це зі стрімінгом і вбудованими моками для тестів (тестування AI — це окремий біль, але тут про нас подбали).
Один інтерфейс — всі провайдери
Anthropic, Gemini, OpenAI, ElevenLabs... Треба змінити модель? Це один рядок коду. А розумні фоллбеки (fallbacks) підстрахують, якщо API умовного OpenAI вирішить прилягти відпочити.
Нативно для Laravel
Фасади, черги, конфіги, Artisan-команди. Ніяких чужорідних абстракцій — все в стилі фреймворку. Працювати з цим — одне задоволення.
All-inclusive
Це не просто "чат-бот". Це текст, генерація зображень, аудіо, транскрипція, ембеддінги, реранкінг, векторні сховища і навіть веб-пошук.
Дока тут: https://laravel.com/docs/12.x/ai-sdk
Словом, мастхев. Час пиляти своїх агентів правильно, а не на колінці.
В часи, коли бізнес вимагає впихнути "штучний інтелект" у кожну дірку (і бажано "на вчора"), ми отримали справжній рятівний круг.
Вийшла бета Laravel AI SDK! І це саме той інструмент, який перетворює хаос інтеграцій на елегантний код.
Замість того, щоб писати милиці під кожен API і винаходити велосипед щоразу, коли клієнт змінює думку щодо провайдера, ловіть офіційний пакет.
Що під капотом?
Агенти із суперздібностями.
Створюй агентів, які мають доступ до інструментів (tools), пам'яті та вміють віддавати структуровані дані. Все це зі стрімінгом і вбудованими моками для тестів (тестування AI — це окремий біль, але тут про нас подбали).
Один інтерфейс — всі провайдери
Anthropic, Gemini, OpenAI, ElevenLabs... Треба змінити модель? Це один рядок коду. А розумні фоллбеки (fallbacks) підстрахують, якщо API умовного OpenAI вирішить прилягти відпочити.
Нативно для Laravel
Фасади, черги, конфіги, Artisan-команди. Ніяких чужорідних абстракцій — все в стилі фреймворку. Працювати з цим — одне задоволення.
All-inclusive
Це не просто "чат-бот". Це текст, генерація зображень, аудіо, транскрипція, ембеддінги, реранкінг, векторні сховища і навіть веб-пошук.
Дока тут: https://laravel.com/docs/12.x/ai-sdk
Словом, мастхев. Час пиляти своїх агентів правильно, а не на колінці.
Laravel
Laravel AI SDK | Laravel 13.x - The clean stack for Artisans and agents
Laravel is a PHP web application framework with expressive, elegant syntax. We've already laid the foundation — freeing you to create without sweating the small things.
🔥11
А взагалі, давайте вже по трошку готуватися до наступного релізу ларки. Тут непальські колеги зробили цікавий проєкт.
Давайте згадаємо (або скоріше дізнаємося) якою була Laravel 1. І порівняємо з поточною реалізацію і подумаємо про те як цей фреймворк еволюціонував за ці роки.
https://laravelnepal.com/post/origin-of-laravel-v1
Давайте згадаємо (або скоріше дізнаємося) якою була Laravel 1. І порівняємо з поточною реалізацію і подумаємо про те як цей фреймворк еволюціонував за ці роки.
https://laravelnepal.com/post/origin-of-laravel-v1
Laravelnepal
The Origin of Laravel - a look at v1 Beta 1 - Laravel Nepal
Explore the history of the PHP world with a deep dive into the original Laravel v1 codebase. Travel back to 2011 when Laravel was just folders of PHP files.
KRUHLYK 🇺🇦
Коли замовник хоче AI-агента навіть у лендос для продажу шкарпеток... В часи, коли бізнес вимагає впихнути "штучний інтелект" у кожну дірку (і бажано "на вчора"), ми отримали справжній рятівний круг. Вийшла бета Laravel AI SDK! І це саме той інструмент,…
Почав трохи колупати цю шайтан SDK.
І ось основний інсайт: Learn to work with Laravel QUEUES first.
Серйозно, не наступайте на граблі синхронних запитів. AI - це не той звичний старий воркфлоу Eloquent query за 2мс. Це 10-20 секунд очікування на генерацію картинки або "важкого" промпту.
Якщо не хочете, щоб ваш юзер дивився на білий екран, поки тайм-аут Nginx не скаже «дасвіданя» - заганяйте все у черги.
Failures? Будуть. І retryUntil - ваш найкращий друг.
UX? Тільки асинхронщина + WebSockets/Reverb, щоб юзер бачив прогрес у реальному часі.
Graceful handling? Обов'язково.
Спочатку навчіться «готувати» Redis та Workers, а вже потім випускайте AI-агентів на волю. Чистий код - це не тільки про SOLID, а й про те, щоб бекенд не вмирав, поки Claude думає над сенсом життя.
І ось основний інсайт: Learn to work with Laravel QUEUES first.
Серйозно, не наступайте на граблі синхронних запитів. AI - це не той звичний старий воркфлоу Eloquent query за 2мс. Це 10-20 секунд очікування на генерацію картинки або "важкого" промпту.
Якщо не хочете, щоб ваш юзер дивився на білий екран, поки тайм-аут Nginx не скаже «дасвіданя» - заганяйте все у черги.
Failures? Будуть. І retryUntil - ваш найкращий друг.
UX? Тільки асинхронщина + WebSockets/Reverb, щоб юзер бачив прогрес у реальному часі.
Graceful handling? Обов'язково.
Спочатку навчіться «готувати» Redis та Workers, а вже потім випускайте AI-агентів на волю. Чистий код - це не тільки про SOLID, а й про те, щоб бекенд не вмирав, поки Claude думає над сенсом життя.
👌8🥰1
Ну що, схоже маятник хитнувся в іншу сторону і настає час, про який я та багато моїх колег говорили.
Все частіше з різних джерел на мене вивалюються новинні матеріали зі світу айтішки, коли на Заході бізнеси награлись з вайбкодерами, яких нахайрили раніше і повертають тих, хто дійсно шарить за код.
Суть в чому? Все частіше роботодавці хочуть, щоб код не завалив систему. Особливо на фоні факапів, які всі бачили. Той сами Cloudflare як приклад. Тому, тепер техменджмент різних калібрів просить розрабів пояснювати за код що загортається в пул реквести.
Тобто ти можеш генерити код як хочеш і чим тобі зручно. Але будь добрим пояснити все, що там і чому саме таке рішення було прийнято. Як з точки зору логіки і оптимізації, так і з точки зору архітектури.
Іншими словами, якщо ти вайбкодер, то ти ні разу не інженер і не розраб, бо основ навіть не знаєш. А це, виявляється, важливо! Це ж треба і як неочікувано! 🤓
Отже, як я неодноразово казав, написання коду, як такого, перестає бути цінністю. Цінністю стає ваше інженерне+бізнесове мислення і навчики і досвід.
Спотергігаємо далі...
Все частіше з різних джерел на мене вивалюються новинні матеріали зі світу айтішки, коли на Заході бізнеси награлись з вайбкодерами, яких нахайрили раніше і повертають тих, хто дійсно шарить за код.
Суть в чому? Все частіше роботодавці хочуть, щоб код не завалив систему. Особливо на фоні факапів, які всі бачили. Той сами Cloudflare як приклад. Тому, тепер техменджмент різних калібрів просить розрабів пояснювати за код що загортається в пул реквести.
Тобто ти можеш генерити код як хочеш і чим тобі зручно. Але будь добрим пояснити все, що там і чому саме таке рішення було прийнято. Як з точки зору логіки і оптимізації, так і з точки зору архітектури.
Іншими словами, якщо ти вайбкодер, то ти ні разу не інженер і не розраб, бо основ навіть не знаєш. А це, виявляється, важливо! Це ж треба і як неочікувано! 🤓
Отже, як я неодноразово казав, написання коду, як такого, перестає бути цінністю. Цінністю стає ваше інженерне+бізнесове мислення і навчики і досвід.
Спотергігаємо далі...
👍13💯5🔥1