Posts

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

stefanzweifel, to php
@stefanzweifel@phpc.social avatar

While making my PHP packages compatible with Laravel 11 the last few weeks, I've also spent some time and added PHPStan to all of them.

The more simpler ones are already on level 9. The more complex are still on level 5 or 6. I'm still a novice when it comes to proper type documentation. Goal is to increase levels throughout the year.

Links to all packages:
https://stefanzweifel.dev/projects

#php #phpstan

stefanzweifel,
@stefanzweifel@phpc.social avatar

@thgs @regis The problem is Laravel's magic.
Tools like Larastan or the laravel-ide-helper can help here.

The core problem is that for example in this User model, there are no $name or $email properties, but one can use $user->name = ‘Foo’;
https://github.com/laravel/laravel/blob/11.x/app/Models/User.php

As mentioned, I’m a novice when it comes to phpstan and currently don't see the need to go to level 9 in my projects.
My app code these days are often strictly typed PHP classes "outside" of Laravel anyway.

thgs,
@thgs@phpc.social avatar

@stefanzweifel @regis yea I see, I was just curious about what is the obstacle. Also way more competent with psalm than phpstan myself, magic properties are still possible but you would need to define a lot of psalm types. I think more or less the same for phpstan too.

It’s quite a bit of difference in the code in level 5 and then level 3 and then level 1 (reverse these for phpstan).

I tend to like the way you need to write the code in the max level because it ends up being guided a lot.

stefanzweifel, to Laravel
@stefanzweifel@phpc.social avatar

If you're in Zurich this Thursday evening and want to learn more about Laravel, I highly recommend joining us at the Laravel Switzerland Meetup.

Topics this time:

  • Fat Enums
  • How to Kickstart your next App

https://www.meetup.com/laravel-switzerland-meetup/events/298948244/

stefanzweifel, to random
@stefanzweifel@phpc.social avatar

Great talk by @dunglas at explaining .

dgoosens,
@dgoosens@phpc.social avatar

@stefanzweifel @dunglas

when you think about it and @ApiPlatform may be the bridge we were missing between the @symfony and communities

I personally think that is and hope this is the beginning of less silo more together

stefanzweifel,
@stefanzweifel@phpc.social avatar

@dgoosens @dunglas @ApiPlatform @symfony Fully agree. Love the project and the energy that is behind it.

And how all major players in the ecosystem are looking to or already supporting it.

stefanzweifel, to opensource
@stefanzweifel@phpc.social avatar

Soon, my git-auto-commit GitHub action will be used in 70k public repos (🤯).
To celebrate, I checked which are the biggest repos that use my little action.

Some big names are in there. Vercel, GitHub, Grafana, Android.
But also cool community projects like iptv, catppuccin or NotepadNext.

Makes me a proud that my most popular side-project is used in so many cool project. (I remember that I used Notepad++ to work on my World of Warcraft addons back in the day)

stefanzweifel,
@stefanzweifel@phpc.social avatar

@regis "Star the repo to get a chance to win a iPhone 16 Pro Galaxy HD." 😄

regis,
@regis@phpc.social avatar

@stefanzweifel Idea for next milestone maybe?

stefanzweifel, to random
@stefanzweifel@phpc.social avatar

If you’re a dev, you probably already know how good plain-text files are; but this video by No Boilerplate is a good reminder just how perfect plain-text files really are.
(And how Github Issues and Projects is good enough for your work)

https://www.youtube.com/watch?v=WgV6M1LyfNY

stefanzweifel, to random
@stefanzweifel@phpc.social avatar

Day 1 of Full Stack Europe is over.
Some great talks about CSS, JS, Svelte and databases are through.

Was a bit too shy on the first day; hope to fix this tomorrow and mingle more.

Thanks @freekmurze and @driesvints for organizing the conference.

Photo of Tobias Petry’s talk about database scaling. The slide says “Before Scaling Out: Databases love bigger machines”.
Photo of Katerina Trajchevska’s talk on engineering management. The slide says “The highest performing engineering teams focus on the impact, not the input”.

stefanzweifel, to random
@stefanzweifel@phpc.social avatar

Anyone else be at "Full Stack Europe" next week in Antwerp?

stefanzweifel, to Laravel
@stefanzweifel@phpc.social avatar

Laracon EU is back! Feb 5-6, 2024 in Amsterdam.
https://laracon.eu/

stefanzweifel, to php
@stefanzweifel@phpc.social avatar

Never wrote one before, so here's an :

I‘m Stefan. I call my self a Full Stack Developer and have been writing code for the last 15 years. Mostly with . Sometimes or .

Love writing open source packages that solve a particular problem well. I also write long blog posts about how I use certain software on https://stefanzweifel.dev.

When not glued to the desk, I'm enjoying nature, in the gym or in my kitchen cooking or baking for friends and family.

👋

stefanzweifel, to 11ty
@stefanzweifel@phpc.social avatar

Now that I've switched my blog to use , it makes much more fun to update it again.

Finally updated my /uses page. Updated some screenshots and apps. (The biggest change is that I've replaced Feedbin with Reeder.app)

https://stefanzweifel.dev/uses/#ios

regis,
@regis@phpc.social avatar

@stefanzweifel Oh! It made me realize that Plexamp exists for macOS with the iOS app, and it's great since I used the plex web version which is not as good as the dedicated music app.

Thanks for Bruno, didn't know this one.

stefanzweifel,
@stefanzweifel@phpc.social avatar

@regis Plexamp is awesome.
I’ve downloaded some ambient music from World of Warcraft and mostly listen to this while coding.
Probably 80% of the time, Plexamp is running.

stefanzweifel, to random
@stefanzweifel@phpc.social avatar

Just released a new minor version of my “changelog-updater” GitHub Action.
https://github.com/stefanzweifel/changelog-updater-action

If the heading of a previous release in the changelog has a link to a compare view, the Action will use that URL and add a link to the updated compare view to the new release notes.

It's hard to explain this with words. The attached screenshot gives you a good example.

This previously only worked, if the changelog had a "Unreleased" heading with a link in it.

bobmagicii,
@bobmagicii@phpc.social avatar

@stefanzweifel this highlighted method still being called Run() on Project is a direct artifact of when i had to stop and refactor my depths lol.

stefanzweifel,
@stefanzweifel@phpc.social avatar

@bobmagicii Yeah, I definitely had the same feeling of "Wait, this doesn't make sense. This is a CLI not a web project."

Want to code-dive the git-CLI and learn how they deal with that. (Even if git itself is not a greatly designed CLI)

stefanzweifel, to random
@stefanzweifel@phpc.social avatar
stefanzweifel,
@stefanzweifel@phpc.social avatar

@regis I've deployed it already. 😄
(Also switched hosting from Vercel to Cloudflare pages.)

Gonna write a couple of blog posts soonish. Next up is also a “microblog" for some smaller/shorter posts.

regis,
@regis@phpc.social avatar

@stefanzweifel I've noticed it since it reset the RSS feed.
Oh boy it's fast.

stefanzweifel, to random
@stefanzweifel@phpc.social avatar

Happy Eurovision week to all that celebrate. 🪩

stefanzweifel,
@stefanzweifel@phpc.social avatar

@adfichter I think Nemo has a high chance of winning.
Just listened to the super-cut of all songs this year and their song really stands out.

adfichter,
@adfichter@chaos.social avatar

@stefanzweifel I hope so too. Its a masterpiece! But I'm afraid popular voting will be in favour of 90's euro trash...

stefanzweifel, to random
@stefanzweifel@phpc.social avatar

Love it.
iCloud Drive decided to download all my old photo archives and old Windows XP games iso-files until 100MB of disk space was left.

No delete all node_modules folders and local TimeMachine snapshots. And after three restarts iCloud stopped downloading any more files and gave me back 15GB of data. 🤷

stefanzweifel,
@stefanzweifel@phpc.social avatar

Haha. Microsoft Teams uses 1.8 GB of disk space?!

michael,
@michael@thms.uk avatar
stefanzweifel, to random
@stefanzweifel@phpc.social avatar

And the award for the worst country select field goes to … Meta.

Countries are sorted randomly. Not by name or abbreviation.
Oh and the native behaviour of a select field – typing searches the options – does not work. (It jumps to the option that starts with the last character you typed)

@grumpy_website

michael,
@michael@thms.uk avatar

@stefanzweifel haha, bonkers!

I hate country drop downs anyway. Especially when you are from a country like the UK which I’ve seen listed under U for United Kingdom, G for Great Britain, B for Britain, or even E for England. (The latter being particularly popular on German sites for some reason.)

So, yeah, country drop downs are an abomination to me …

cliophate,
@cliophate@overkill.social avatar

@stefanzweifel @grumpy_website Luxembourg, represent!

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