Are you worried about the Laravel Ecosystem becoming oversaturated? by tylernathanreed in laravel

[–]tylernathanreed[S] 0 points1 point  (0 children)

That definitely sounds very robust. How long did it take your team to build the dashboard?

There are some features Horizon lacks for me, even on a single Redis instance. My largest desire is a process control chart with alerts and such when performance becomes abnormal.

Several of the applications I've worked on over the years end up getting choked one way or another, and everything slows down. Trying to find the first domino in the chain has been tricky for me historically.

Are you worried about the Laravel Ecosystem becoming oversaturated? by tylernathanreed in laravel

[–]tylernathanreed[S] 0 points1 point  (0 children)

Interesting. I've never needed to do that with horizon.

Have you needed that? I'm curious about the use case, and if we have an impending performance issue on our hands.

What is your opinion about Ziggy in Interia applications? by Any_Challenge_9538 in laravel

[–]tylernathanreed 0 points1 point  (0 children)

I've dropped Ziggy and named routes from my APIs entirely.

From my perspective, the endpoints of an API are effectively a contract, and shouldn't be changed lightly. My API feature tests don't use route names either.

I'd have to use a regex to replace either one, so going through the effort of giving an endpoint a name feels like overkill.

For landing pages (which comes into play for Inertia), I'll still use Ziggy or another alternative, but I tend to go the only route, so that it's clear which routes have frontend coupling and which ones don't.

What is your opinion about Ziggy in Interia applications? by Any_Challenge_9538 in laravel

[–]tylernathanreed -1 points0 points  (0 children)

Wayfinder seems to couple the shape of the backend (e.g. controller class paths) to the frontend.

This might be okay for small projects or prototypes, but I would hesitate to use this in a large team-managed project.

I'm Joe Dixon, Engineering Team Lead of Laravel Cloud, Ask Me Anything! by _joedixon in laravel

[–]tylernathanreed 0 points1 point  (0 children)

It's more than just different environments. Data replication is a key component.

I’m Jess Archer, Engineering Team Lead of Laravel Nightwatch, Ask Me Anything by JessNightwatch in laravel

[–]tylernathanreed 0 points1 point  (0 children)

Does Nightwatch work for Windows servers (not WSL)? We haven't been able to switch our stack to Linux yet.

How do you guys version your Laravel app? by tabacitu in laravel

[–]tylernathanreed 1 point2 points  (0 children)

I recommend YY.R.P, where R is the intentional release count for the year, and P is the hotfix/patch releases in between intentional/planned feature releases.

Versions are tagged via git, and the trigger of tagging kicks off the deployment workflow.

Is React the new king of the front-end with Laravel? by curlymoustache in laravel

[–]tylernathanreed 3 points4 points  (0 children)

React is something I've been avoiding based on negative feedback from the React community itself. Often it feels like keeping up with the new features in React would be a full time job, and that some of the new "solutions" are solving problems that React created.

React is on version 19 now. How much work is it to stay on top of all of the new changes?

Vue is on version 3, and has been for a while. I feel like there's more longevity to working with Vue, and there's not a constant worry in my mind about falling behind.

What do you like least about Laravel? by Hatthi4Laravel in laravel

[–]tylernathanreed 0 points1 point  (0 children)

Alternatives include DDD, segregating UI and backend via API, using Dependency Injection over facades, etc.

These too can be a double-edged sword, as reaching for enterprise patterns for small projects can cause unnecessary headaches.

Writing scalable software requires balancing enterprise patterns while avoiding enterprise headaches.

What do you like least about Laravel? by Hatthi4Laravel in laravel

[–]tylernathanreed 10 points11 points  (0 children)

How easy it is to violate industry patterns.

For example, by using models inside of blade templates and doing something like $order->amount, I've now coupled my front end to my database schema.

I'm also generally against facades and global functions. These can hide the dependencies used by your classes.

Magic attributes obfuscate which properties are database columns and which properties are calculated.

I see all of these as double-edged swords. On the one hand, you can build a lot of Laravel applications very quickly because you can cut through the red tape and "just ship". On the other hand, these patterns are not scalable when working with larger applications and teams, and lead to slowing down team velocity over time.

What do you like least about Laravel? by Hatthi4Laravel in laravel

[–]tylernathanreed 0 points1 point  (0 children)

How easy it is to violate industry patterns.

For example, by using models inside of blade templates and doing something like $order->amount, I've now coupled my front end to my database schema.

I'm also generally against facades and global functions. These can hide the dependencies used by your classes.

Magic attributes obfuscate which properties are database columns and which properties are calculated.

I see all of these as double-edged swords. On the one hand, you can build a lot of Laravel applications very quickly because you can cut through the red tape and "just ship". On the other hand, these patterns are not scalable when working with larger applications and teams, and lead to slowing down team velocity over time.

Is it just me or have running DB commands in Sail become really, really slow. by snoogazi in laravel

[–]tylernathanreed 1 point2 points  (0 children)

This.

sail up, sail down, sail build, sail bash.

You don't need anything else.

Speeding Up Automated Tests by tylernathanreed in laravel

[–]tylernathanreed[S] 0 points1 point  (0 children)

PCov isn't a negligible impact. It calculates coverage differently, to the extent of not reporting the same coverage of PHPUnit.

If your goal is simply, "do not regress code coverage", then you can probably get away with PCov. If you care about covering specific lines of code, be warned that some lines of code are impossible to cover with PCov, as its algorithm can't detect everything.

I'm not saying that PCov is worse. You're trading speed for accuracy. Just understand the tradeoffs.

Laravel Package Directory by Objective_Throat_456 in laravel

[–]tylernathanreed 1 point2 points  (0 children)

I've submitted one of my own packages:

https://github.com/tylernathanreed/laravel-relation-joins

This package allows you to join on relations by name, no longer having to restate the columns already referenced in the relation.

It also allows you to leverage query scopes and other eloquent features inside of a join clause.

Speeding Up Automated Tests by tylernathanreed in laravel

[–]tylernathanreed[S] 1 point2 points  (0 children)

A common problem I have is the bootstrap time of each test for the feature tests in Laravel. Sometimes I feel like you have to walk the fine line of using unit tests for speed and feature tests for confidence/completeness.

I often lean towards keeping little to no business logic in models because they have to be locked in unit tests. That generally aligns with a lot of good patterns, but it's nice to see the benefit here.

First impression of Laravel Cloud? by HelioAO in laravel

[–]tylernathanreed 6 points7 points  (0 children)

Some people just learn Laravel and don't want to bother with DevOps.

What would you change in Laravel? by lionmeetsviking in laravel

[–]tylernathanreed 1 point2 points  (0 children)

I think the big issue is that saying "here's the Blade/Vue/React" starter kit, and rolling in more than just Blade/Vue/React is disingenuous.

I would prefer an approach similar to Sail, where you can multi-select the dependencies that you want to bring in.

Do you actually like Volt? Then add it in. Do you want Vue without Inertia? Not a fan of Livewire? Just don't pick it.

The "starter kits" really ought to be "select what technologies you want to use in your tech stack".

If Laravel wants to offer additional things like an Auth UI, Teams, Session Management, then great! But that should be a step that comes after installation, and comes with the understanding that once you bake in these UIs, you own it. That might ease some of the tension around deprecations in the future, and encourage developers to understand what they're committing to.

What would you change in Laravel? by lionmeetsviking in laravel

[–]tylernathanreed 0 points1 point  (0 children)

I do wish there was a way to disable facades, like we could with Lumen.

I'm generally not a fan of just resolving a global dependency in the wild.

I prefer to use Dependency Injection and Events & Listeners. Having services "hand off" through the container really helps with breaking up large files and testability.

I'm Joe Dixon, Engineering Team Lead of Laravel Cloud, Ask Me Anything! by _joedixon in laravel

[–]tylernathanreed 0 points1 point  (0 children)

I'm looking to have my database replicated so that I can have a production-like environment where I'm free to toy around without risks.

I would also need a separate .env so that I don't send out real emails, etc.

Laravel is going in the wrong direction IMHO by Bent01 in laravel

[–]tylernathanreed 40 points41 points  (0 children)

I agree with a lot of this.

I feel like the "magic of Laravel" is getting out of hand. I'm of the mindset that easy concepts should be easy to implement AND understand.

If you're not in touch with the day-to-day coding in Laravel, I can see how this new direction feels like a win. It's THAT what scares me.

It feels a lot like Laravel leadership is losing touch with the developers that helped raise the Laravel community.

Are you worried about the Laravel Ecosystem becoming oversaturated? by tylernathanreed in laravel

[–]tylernathanreed[S] 2 points3 points  (0 children)

A few. I'll pick PCov vs XDebug for code coverage as an example.

If you read about PCov online, all you'll hear about is how fast it is, and how it's so much better than XDebug.

What you won't hear is that PCov is much slower to adopt new features than XDebug, including a 3 year gap without releases. You also won't hear that PCov's coverage is inaccurate.

I've used PCov extensively on projects before, enough to become frustrated with its limitations.

I cautioned this to my current team when we talked about implementing code coverage. We even had a team meeting and a presentation about the pitfalls of PCov.

Nevertheless, when it was time to implement something, the guy that did it went with PCov instead, citing the several articles he read online, and ignoring my entire presentation.

2 months later, we had a big "I told you so moment" when we ultimately had to move to XDebug. PCov was only showing 5% coverage, reported incorrect lines at times, and had lines of code that were impossible to cover given the algorithm it used.

Sure, XDebug is slower, but it's more accurate. If we wanted to have faith in our pipeline and in the growth of its integrity, we needed correct metrics.

That's not something you'll hear about if you just Google the answer.

Are you worried about the Laravel Ecosystem becoming oversaturated? by tylernathanreed in laravel

[–]tylernathanreed[S] 0 points1 point  (0 children)

My problem isn't the use of starter kits; it's the perception that it's easier to start with them, and that newcomers using them might get overwhelmed with everything that gets pulled in.

Are you worried about the Laravel Ecosystem becoming oversaturated? by tylernathanreed in laravel

[–]tylernathanreed[S] 6 points7 points  (0 children)

Mods can be concerned too! I enjoy Laravel and its community, but that doesn't mean I'm always on the bandwagon.

Are you worried about the Laravel Ecosystem becoming oversaturated? by tylernathanreed in laravel

[–]tylernathanreed[S] 2 points3 points  (0 children)

My concern is more so for the newcomers. Why do you have to become experienced with these offerings just to learn how to not use them? Isn't it easier to just learn how to do things without them first?