Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

wemersonrv's avatar

wemersonrv wrote a comment+100 XP

4w ago

Leveraging AI for Laravel Development: Ep 9, PhpStorm Prompt Library

My PHPStorm don't have this "Add your Prompts" option. How can i activate it?

I can see the bar with the refactor option, the AI icon too, and some options in the dropdown, but not this option

Even with the Show Prompt in 'AI Actions' popup selected, it does not shows. When click in AI Actions icon in the floating toolbar, it just opens the AI Chat with the selected code inside, and the workaround i was able to do is to manually type the command in chat.

wemersonrv's avatar

wemersonrv wrote a comment+100 XP

1mo ago

Leveraging AI for Laravel Development: Ep 7, Use Context7 For Up-to-Date Documentation

I am receiving this error when configure the Junie MCP Settings:

Cannot run program "npx": Exec failed, error: 2 (Arquivo ou diretório inexistente)

kotlinx.coroutines.flow.StateFlowImpl@6c2dd383

Tried to add the real path to npx: ~/.nvm/versions/node/v22.19.0/bin/npx but results in the same eror

wemersonrv's avatar

wemersonrv wrote a comment+100 XP

1mo ago

Leveraging AI for Laravel Development: Ep 3, Nip it in the Bud

Why all installed agents are updated, but not Junie AI?

See what i'm doing:

  1. Added the unguarded instruction to .ai/guidelines/laravel.md
  2. Run php artisan boost:install

CLAUDE.md and AGENTS.md (Opencode) were updated with the new instruction, but the junie directives.md was not updated.

Junie is not handled by boost?

wemersonrv's avatar

wemersonrv wrote a comment+100 XP

1mo ago

The Laravel Workshop: Ep 64, Section 4: You

Great job, guys! Simon, Jeremy, and @jeffreyway . It was awesome to see how each of you tackled some challenges in different ways... it really added a lot to the course and made everything way more interesting to follow!!!

How about a plus?! it would be really cool to have a 4th instructor to mixt it a little bit... How about bring Caleb in to build a Livewire version? I think it is a great way to compare your approaches side by side and help us figure out which tools fit best depending on the situation, and of course; our preferences!

Thanks again for such a great course 🙌

wemersonrv's avatar

wemersonrv liked a comment+100 XP

1mo ago

The TALL Developer : Ep 16, Wrapping Up

@wemersonrv Thank you so much for the detailed comment! Really happy to know that the course was helpful :)

wemersonrv's avatar

wemersonrv wrote a comment+100 XP

2mos ago

The Laravel Workshop: Ep 37, Displaying A Thread

Love when screen turns gray and Jeremy looks to us in a funny way! 😬🤨

wemersonrv's avatar

wemersonrv wrote a comment+100 XP

2mos ago

Eloquent Relationships Deep Dive: Ep 6, Many-to-Many Polymorphic Relationships

Great episode, interesting concepts!

And about performace? There are any concerns or is it fine for example to have millions and millinos of records inside a morph/pivot table and a lot of tables morphin through it?

wemersonrv's avatar

wemersonrv wrote a comment+100 XP

2mos ago

Eloquent Relationships Deep Dive: Ep 5, Polymorphic Relationships

Amazing video! I always had my struggles with Polimorphic... Until now! Thank you!

I have just a question about an issue i had now:

I've made a small change — I just swapped the content and morphs lines in the migration — and the result was crazy. The data got completely shuffled and ended up in the wrong columns! 😱😱😱

Schema::create('descriptions', function (Blueprint $table) {
    $table->id();
    $table->morphs('describable'); // describable_id; describable_type
    $table->string('content'); 
    $table->timestamps();
});
id content describable_type describable_id ...
1 users 1 Senior Developer ...
2 teams 1 We build the backend systems of the app. ...

Why does this happen? Is there a specific rule about the order of the columns?

wemersonrv's avatar

wemersonrv wrote a reply+100 XP

3mos ago

Laravel Pint is not properly indenting custom Blade directives

Didn't works.

And i don't found any v2.5.0+ version for blade-formatter. The latest version available is v1.44.2: https://www.npmjs.com/package/blade-formatter?activeTab=versions

wemersonrv's avatar

wemersonrv started a new conversation+100 XP

3mos ago

Laravel Pint is not properly indenting custom Blade directives

My Laravel Pint setup is not indenting some custom Blade directives correctly.

I am using custom Blade directives that behave like structural blocks (similar to @if, @foreach, etc.). However, when running Pint, the indentation inside these directives is removed or flattened.

Here is a simplified example.

Original Blade code (properly indented)

<div class="mt-8 grid grid-cols-3 gap-6 relative">
    @island(name: 'metrics', defer: true, always: true)
        @placeholder
            <flux:skeleton class="h-30" animate="shimmer"/>
            <flux:skeleton class="h-30" animate="shimmer"/>
            <flux:skeleton class="h-30" animate="shimmer"/>
        @endplaceholder

        @island(always: true)
            <div wire:poll.5s>
                <livewire:pages::analytics.metric heading="Views" :number="$this->views" :change="12"/>
            </div>
        @endisland

        <livewire:pages::analytics.metric heading="Visitors" :number="$this->visitors" :change="8"/>
        <livewire:pages::analytics.metric heading="Avg time on post" :number="$this->avgTime" :change="-3"/>
    @endisland

    <div class="absolute top-0 bottom-0 left-[97.7%] pl-4 flex">
        <flux:button wire:click="$refresh" wire:island="metrics" icon="arrow-path" variant="subtle" size="sm" class="cursor-pointer"/>
    </div>
</div>

Result after running Pint

<div class="mt-8 grid grid-cols-3 gap-6 relative">
    @island(name: 'metrics', defer: true, always: true)
    @placeholder
    <flux:skeleton class="h-30" animate="shimmer"/>
    <flux:skeleton class="h-30" animate="shimmer"/>
    <flux:skeleton class="h-30" animate="shimmer"/>
    @endplaceholder

    @island(always: true)
    <div wire:poll.5s>
        <livewire:pages::analytics.metric heading="Views" :number="$this->views" :change="12"/>
    </div>
    @endisland

    <livewire:pages::analytics.metric heading="Visitors" :number="$this->visitors" :change="8"/>
    <livewire:pages::analytics.metric heading="Avg time on post" :number="$this->avgTime" :change="-3"/>
    @endisland

    <div class="absolute top-0 bottom-0 left-[97.7%] pl-4 flex">
        <flux:button wire:click="$refresh" wire:island="metrics" icon="arrow-path" variant="subtle" size="sm" class="cursor-pointer"/>
    </div>
</div>

As shown above, the indentation inside custom directives from Livewire, like @island and @placeholder is lost after formatting.

It appears that Pint does not recognize these custom directives as structural Blade blocks, so it does not treat them as indentation scopes.

This issue may affect any project that defines custom Blade directives intended to behave like block-level control structures.

Is there currently a way to register custom Blade directives as structural blocks so that Pint can correctly indent their contents?

wemersonrv's avatar

wemersonrv wrote a comment+100 XP

3mos ago

Fun With OpenAI and Laravel: Ep 2, Keep the Conversation Going

Found it!

When the array key for the message when get the response is 'content', but i was using 'message'


// ...

if ($response) {
    $this->messages[] = [
        'role' => 'assistant',
        'message' => $response, // Here is 'content' not 'message'
    ];
}

//...
wemersonrv's avatar

wemersonrv wrote a comment+100 XP

3mos ago

Fun With OpenAI and Laravel: Ep 2, Keep the Conversation Going

Cool, it's an amazing start. Past 2 years of this course, and the original content still works! Great Job.

Well, kinda works... the first message is sent normally, but when i try to send new ones, it returns null. The first one works every time, but the second not!

Maybe something new that is required now in the recent versions of Open AI API I need to change?

$chat = new Chat;

$poem = $chat
    ->systemMessage('You are a poetic assistant, skilled in explaining complex programming concepts with creative flair.')
    ->send('Compose a poem that explains the concept of recursion in programming.');

$sillyPoem = $chat->reply('Cool, but can you make it much, much more sillier?');

return view('welcome', ['poem' => $sillyPoem);

App\Ai\Chat

wemersonrv's avatar

wemersonrv wrote a comment+100 XP

3mos ago

The TALL Developer : Ep 16, Wrapping Up

Amazing course. You are so calm, clearn and easy to understand, even for a non english native student like me listeing to another non english person. The accents on the two sides can be tricky, but it was so smooth, amazing!

Already used Livewire some years ago in version 2, and this course was amazing to remember some stuffs and start to known v3 and prepare for v4.

Thank you so much!

wemersonrv's avatar

wemersonrv wrote a comment+100 XP

3mos ago

The TALL Developer : Ep 8, Add Authentication, Routes and Views

@Shruti Balasa In your video, the layouts folder location is views/components/layout. But here layouts is in views/layouts, so it's in the same level of components. Maybe some structural changes in recent laravel versions?? My project started today is Laravel v12.48.1.

So, here in my project; using <x-layouts.app> don't works and gives me the error:

Unable to locate a class or view for component [layouts.app].

How can i fix this?

wemersonrv's avatar

wemersonrv wrote a comment+100 XP

3mos ago

Object-Oriented Principles in PHP: Ep 10, Object-Oriented Workshop

@connor1231 Well, there is some time since i posted this... i don't remember what i did to fix it. Maybe? i don't know. Sorry! 😰

wemersonrv's avatar

wemersonrv wrote a comment+100 XP

3mos ago

PhpStorm for Laravel Developers: Ep 15, Tailwind Integration With Automatic Class Sorting

Using PHPStorm 2025.3.2.

When run npx prettier --write resources/js/Components/Test.vue it works, sort classes and clean extra spaces.

But don't works when save the file. The Prettier plugin is configured in PhpStorm. Run on save is enabled, and the run for Files options is defined with **/*.{js,ts,jsx,tsx,cjs,cts,mjs,mts,json,vue,astro} and, of course, the actions on save for prettier is enabled.

There is something else for new PHPStorm versions ?

wemersonrv's avatar

wemersonrv wrote a comment+100 XP

3mos ago

PhpStorm for Laravel Developers: Ep 5, Automatically Format Code (Including Pint)

Works fine for new projects since configured my PHPStorm following these classes. But, when open old projects, the settings are not applied and need to make all of then again.

There is a way to apply these configs to old projects?

wemersonrv's avatar

wemersonrv wrote a comment+100 XP

3mos ago

Get Real With Laravel Reverb: Ep 10, Deploying to Production

Great course! Thank you for the amazing hours watching your videos!

wemersonrv's avatar

wemersonrv wrote a comment+100 XP

3mos ago

Build a Livewire App With Me!: Ep 21, What's Next?

Amazing course! Thanks Josh for the great moments wathing it!

wemersonrv's avatar

wemersonrv wrote a comment+100 XP

3mos ago

Livewire 3 From Scratch: Ep 29, Handling Authentication

Amazing course, thanks Jeremy ! Finish it couple of days after release of Livewire v4... and it still 100% compatible with recent releases of Laravel. Now waiting for new v4 Courses!

wemersonrv's avatar

wemersonrv wrote a comment+100 XP

4mos ago

Rapid Laravel Apps With Filament: Ep 14, Using Filament Outside of Panels

I don't know what i am doing wrong. Repeat all the stuffs @Kevin put int he video. But my signUpAction just show the modal background. Nothing about the modal content. No erros in javascript console, neither in the laravel.log.

wemersonrv's avatar

wemersonrv wrote a comment+100 XP

6mos ago

Laravel Octane: Ep 5, Avoiding Memory and State Leaks

Found my mistake here.

I am using a fresh Laravel 12 project, it's using PHP 8.4, but i've changed the supervisor.conf in docker/php8.2` folder following the video. So in fact, i was not using Octane yet!

Just change and rebuild and it works.

wemersonrv's avatar

wemersonrv wrote a comment+100 XP

6mos ago

Laravel Octane: Ep 5, Avoiding Memory and State Leaks

Dunno what i am doing wrong. But here the /global route did not increments.

The container is running, and i can access it from the browser.

It is registered as a singleton and it was warmed up in config/octane.php

I think supervisord.conf is ok right? Because if octane not configured here, i cannot access it from the browser.

So, what am i doing wrong?

[supervisord]
nodaemon=true
user=root
logfile=/var/log/supervisor/supervisord.log
pidfile=/var/run/supervisord.pid

[program:php]
command=/usr/bin/php -d variables_order=EGPCS /var/www/html/artisan octane:start --host=0.0.0.0 --port=80
user=sail
environment=LARAVEL_SAIL="1"
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
stderr_logfile=/dev/stderr
stderr_logfile_maxbytes=0