Newslurp

<< Stories

#59 - Supercharge Laravel with Junie and PhpStorm Integration ⚡, RFC URL Parsing API Accepted 🔗, spatie/laravel-one-time-passwords 📦, Self-Improving Image Agent 🤖, Block Destructive DB Commands in production 💡

The Laralist <hello@thelaralist.com>

May 25, 10:29 am

#59 - Supercharge Laravel with Junie and PhpStorm Integration ⚡, RFC URL Parsing API Accepted 🔗, spatie/laravel-one-time-passwords 📦, Self-Improving Image Agent 🤖, Block Destructive DB Commands in production 💡
Boost your Laravel workflow by integrating Junie to your projects. This guide walks through installing the `dcblogdev/laravel-junie` package, publishing Laravel-specific coding guidelines with `php artisan junie:install`, and configuring PhpStorm to leverage Junie’s AI-powered suggestions. Keep your team’s style rules in sync, accelerate code reviews, and let Junie enforce best practices directly in your IDE.
The Laralist
#59 - 25th of May, 2025
🧱
Laravel

Boost your Laravel workflow by integrating Junie to your projects. This guide walks through installing the dcblogdev/laravel-junie package, publishing Laravel-specific coding guidelines with php artisan junie:install, and configuring PhpStorm to leverage Junie’s AI-powered suggestions. Keep your team’s style rules in sync, accelerate code reviews, and let Junie enforce best practices directly in your IDE.

Learn to fetch, transform, and unify data from multiple external APIs using Data Transfer Objects and value objects. Keeping controllers lean, centralizing mapping logic, and boosting type safety and maintainability.

Laravel v12.15.0 introduces locale-aware number parsing methods in the Number class, a default option when retrieving an enum from data, and an assertClientError method in TestResponse. It also adds a new hash string helper and enhances the Paginator with current_page_url.

💡
Tip of the Week

Accidental migrate:fresh, migrate:refresh, migrate:reset or custom wipe commands in production can be catastrophic. Keep production databases safe from destructive commands using DB::prohibitDestructiveCommands

// App\Providers\AppServiceProvider.php
public function boot(): void
{
    DB::prohibitDestructiveCommands(
        $this->app->isProduction()
    );
}
🐘
PHP

Jack is an experimental tool for safely upgrading Composer dependencies step-by-step. Use jack breakpoint in CI to catch too many outdated majors, jack open-versions to widen constraints for the next versions, and jack raise-to-installed to sync composer.json with installed packages. Install via composer require rector/jack --dev and automate your dependency bumps—one safe step at a time.

PHP’s parse_url() isn’t standards-compliant, and even basic terms like URI, IRI, URL, and URN can get muddled. This accepted RFC introduces a new, always-available URI extension to parse, validate, modify, recompose, and resolve references in strict accordance with RFC 3986 and the WHATWG URL spec.

📦
Package of the Week

Easily generate and verify expiring, single-use codes via email, SMS, or any channel. It ships with security measures—origin checks, rate-limiting, single active OTP—and a Livewire component for passwordless login flows. Simply add the HasOneTimePasswords trait to your User model, then call sendOneTimePassword() or use the built-in Livewire component to handle the rest.

Misc

Optimistic locking assumes minimal conflicts, allowing transactions to proceed without upfront locks. It's ideal for systems with frequent reads but infrequent writes, enhancing concurrency and system throughput.

An LLM‐driven pipeline where GPT “judges” OpenAI‐generated images for issues (blurring, composition), then calls the image API’s edit endpoint in a loop to fix them—demonstrating how natural‐language feedback can automatically refine visuals, but also revealing challenges in translating critique into precise pixel edits.

We value your thoughts and feedback. Feel free to hit reply and share your ideas with us.
If you find our content helpful, please consider forwarding it or sharing it with your friends and colleagues.
Thank you for reading,
Mario & Javi
If you prefer not to receive future editions of The Laralist, please unsubscribe.