@OndrejMirtes@phpc.social avatar

OndrejMirtes

@OndrejMirtes@phpc.social

Creating https://phpc.social/@phpstan by day and night. 👨🏻‍💻👨‍👩‍👦‍👦🎮🚴‍♂️

This profile is from a federated server and may be incomplete. Browse more on the original instance.

OndrejMirtes, to random
@OndrejMirtes@phpc.social avatar

When I find an easy fix for a bug I thought was unfixable for 3 years…

Vibing White Cat GIF

OndrejMirtes, to random
@OndrejMirtes@phpc.social avatar

Enjoy many bugfixes in PHPStan 1.11.1: https://github.com/phpstan/phpstan/releases/tag/1.11.1

OndrejMirtes, to random
@OndrejMirtes@phpc.social avatar

PHPStan 1.11 With Error Identifiers, PHPStan Pro Reboot and Much More https://phpstan.org/blog/phpstan-1-11-errors-identifiers-phpstan-pro-reboot

OndrejMirtes, to random
@OndrejMirtes@phpc.social avatar

Starting on Monday PHPStan Pro will offer a wizard 🧙 for transforming @​phpstan-ignore-(next-)line into new identifier-specific @​phpstan-ignore for your whole codebase.

This does not swallow future errors you might not even know about.

What other wizards would you like to see?

OndrejMirtes, to random
@OndrejMirtes@phpc.social avatar

Some crazy new syntax coming to PHPStan 1.11 thanks to @ruud_ and @rvanvelzen that allows to basically create an object from a specific class-string... in PHPDoc.

Yeah, it's called new<...>.

OndrejMirtes, to random
@OndrejMirtes@phpc.social avatar

We have a date! PHPStan 1.11 with error identifiers, PHPStan Pro reboot, checking truthiness of @​phpstan-pure, and new callable-related PHPDoc tags, is almost finished & is going to be released one week from now 🙌
https://phpc.social/@OndrejMirtes/112279892917977486

OndrejMirtes, to random
@OndrejMirtes@phpc.social avatar

Footer on PHPStan's website just gained a fourth icon 👀

Yes, PHPStan now has a YouTube channel. Not much is on it right now, just a few of my talk recordings linked from other places, but I have plans and I plan to see them through.

Here's the link: https://youtube.com/@phpstan

Like, subscribe and hit the bell button, or whatever the kids say these days.

OndrejMirtes, to random
@OndrejMirtes@phpc.social avatar

@jrf_nl Are you kidding me!? I thought I'd finally be able to attend your talk but it's in the same slot again! 😭

OndrejMirtes, to random
@OndrejMirtes@phpc.social avatar

PHPStan Pro will now play nicely even if you run it inside Docker, and will open files on your actual filesystem.

I thought this was a niche request, but when a half of workshop participants at DutchPHP couldn't use PHPStan Pro for this reason, I realized I have to do it ASAP.

OndrejMirtes, to random
@OndrejMirtes@phpc.social avatar

The list of PHPStan sponsors steadily grows, and I'm so grateful for that. Thanks to these companies I'm able to do what I love as my full-time job.

The rule of thumb should be: If you're boasting about using open-source software in your job listing, you should sponsor it.

You can find all the ways to sponsor PHPStan on the website: https://phpstan.org/sponsor

zonuexe, to random
@zonuexe@phpc.social avatar

These are slides about PHPStan's benevolent union type, which I talked about at a meetup with @Girgias in Tokyo yesterday. The article is in Japanese, but the slide PDF is in English. https://tadsan.fanbox.cc/posts/7650964

OndrejMirtes,
@OndrejMirtes@phpc.social avatar

@zonuexe The most notable example of benevolent union types are array keys if you type Foo[] instead of array<int, Foo>.

You can turn benevolent union types to be checked same as usual union types with checkBenevolentUnionTypes: true (but it’s going to be brutal)

OndrejMirtes, to random
@OndrejMirtes@phpc.social avatar

There's a common pitfall PHPStan users run into. They implement custom extensions, but they forget to put them into analysed paths.

Aside from missing out on bugs PHPStan can find in their extensions, it also breaks the result cache.

The next version is going to tell you:

OndrejMirtes, to random
@OndrejMirtes@phpc.social avatar

Sometimes I like to write silly commit messages. #phpstan

dantleech, to random
@dantleech@fosstodon.org avatar

Releasing a project after 2 years is always fun. updating dependencies, bumping php version, finding out that the PHAR build no longer works...

But here is Fink 0.11.2:

https://github.com/dantleech/fink

It's a pretty decent PHP link checker, and was one of those fun projects that had a limited scope and as such could be considered "done".

OndrejMirtes,
@OndrejMirtes@phpc.social avatar

@dantleech If I have an anchor # in my link, is it going to download the URL and check if there’s an HTML element with that ID in that document? That would definitely sell it to me!

Thanks.

OndrejMirtes, to random
@OndrejMirtes@phpc.social avatar

PHPStan "The Road to @dpcon Edition" 1.10.61 is out: You can now put conditional types into @​param-out PHPDoc tags!

OndrejMirtes, to random
@OndrejMirtes@phpc.social avatar

PHPStan HQ 🚌🚇 Prague 🚊 Berlin 🚆 Amsterdam @dpcon

zonuexe, to random
@zonuexe@phpc.social avatar

PHPerKaigi, one of the largest PHP conferences in Japan, has been held since yesterday. This is my third presentation at the PHP conference this year, and as always, I'm working as a member of the staff.

OndrejMirtes,
@OndrejMirtes@phpc.social avatar

@zonuexe I love waking up in the morning to dozens of Japanese tweets about PHPStan 🤩

ramsey, (edited ) to php
@ramsey@phpc.social avatar

“Ever since 7 came out, and with the improvements in the language since then—particularly around performance—PHP outshines basically every other application stack on the web. So, if you’re worried about performance and you’re worried about developer productivity, you should be choosing PHP.”

— Matthew Weier O’Phinney ( @mwop ), “The 2024 State of PHP Development,” Zend by Perforce ( @zend )

OndrejMirtes,
@OndrejMirtes@phpc.social avatar

@danrot @ramsey @mwop @zend You’re mostly gonna be waiting for the database to return results anyway, and on top of that add waiting for all the compiling as a developer.

OndrejMirtes, to random
@OndrejMirtes@phpc.social avatar

PHPStan users will soon be able to enjoy generic magic @​method tags! (Yeah, people ask for stuff like this.)

It might not be obvious but the new part in the code below is <T>. Which is the same as declaring a new @​template tag above a traditionally declared method.

OndrejMirtes, to random
@OndrejMirtes@phpc.social avatar

A QA engineer walks into a bar. Orders a beer. Orders 2 beers. Orders 9999 beers. Orders -1 beers. Orders a lizard. Orders a wteurgejeyth.

The first customer walks into the bar and asks where the bathroom is. The bar immediately bursts into flames, killing everyone.

OndrejMirtes, to random
@OndrejMirtes@phpc.social avatar

My talk from PHP UK is on-line! Watch if you’re hungry for stricter PHPStan analysis, or if you want to learn many interesting tidbits about using the tool. https://www.youtube.com/watch?v=AFjr3RlDOZQ

OndrejMirtes, to random
@OndrejMirtes@phpc.social avatar

Is this platform going to die because of endless spam I have in my mentions the last few days?

It’s pretty bad. I had to turn off notifications on all my devices.

video/mp4

OndrejMirtes, to random
@OndrejMirtes@phpc.social avatar

Never trust a test you haven’t seen fail first.

OndrejMirtes, to random
@OndrejMirtes@phpc.social avatar

London here I come! ✈️🐘 @phpukconference

OndrejMirtes,
@OndrejMirtes@phpc.social avatar

@MarkBaker @phpukconference This is a prototype 😊 Stay tuned!

  • All
  • Subscribed
  • Moderated
  • Favorites
  • Leos
  • rosin
  • InstantRegret
  • ethstaker
  • DreamBathrooms
  • mdbf
  • magazineikmin
  • thenastyranch
  • Youngstown
  • tacticalgear
  • slotface
  • Durango
  • khanakhh
  • kavyap
  • megavids
  • everett
  • vwfavf
  • normalnudes
  • osvaldo12
  • cubers
  • GTA5RPClips
  • cisconetworking
  • ngwrru68w68
  • anitta
  • provamag3
  • tester
  • modclub
  • JUstTest
  • All magazines