I started a prototype of a framework-less #php architecture, using #docker, on my playground. Separated public and private files, enabled autoloading using composer and PSR-4. It's fun! 😀
🌟 Exciting News! We are thrilled to announce that tickets are now available for T3CON24 and the #TYPO3 Awards 2024, happening in Düsseldorf, Germany from 26-28 November. This year, experience three full days packed with insightful talks and networking opportunities. 🎤🤝
🏆 #TYPO3Award Submissions are open! Showcase your innovative projects on the night of 28 November. Submit now and celebrate your achievements with us!
Starting my first #php community time block. My goal is to refresh the theme of my personal site so I can document the work I’m doing and rethink league/booboo to determine the feasibility of that package.
Wel, I'm not entirely sure league/booboo makes sense as a stand-alone package, but we'll see. I was able to get my blog up and going at https://sarah-savage.com though! #php
Today a #TYPO3 8.7 will die and rise again as 11.5. Next project will be the upgrade of a 6.2 to one of the current versions. 🎉
I have very little time but if you need help with TYPO3 upgrades, even the tricky ones: Ping me. If there's time on my and budget on your end, there's no need for a relaunch. 😉
ok #php folks, you were right Rector is pretty cool. The learning curve is steep AF, and the docs are, well, let's just say they're written by engineers for engineers. But given the target audience for this tool, that's OK. I've not yet done the changes I was originally asking about with it, because the config for it is going to be a PITA to build. I've been starting small. But what I've done so far has been pretty cool! I've done some wild things with RenameClassConstFetchRector for example. 🧵
@alessandrolai@shudder yeah, played with them to not much improvement. Currently thinking I’ll do a two pass approach. First use the renaming rectors I’ve configured against the whole codebase, then got diff to get the list of changes files and run a separate rector on just those files with this option. Will experiment with that in the morning.
I have found myself, for the first time, having to write what I consider worse code to satisfy Psalm static analysis. Here's a watered-down example showing what I consider odd behavior.
@cspray Oh, and to your specific example, if phpstan is anything to go by, it seems php stores non associative arrays internally AS associative, it’s just that the keys are indexes (0, 1, 2…) so that’s the “expects array <int, string >, was provided array<string >” malarkey.
In phpstan you can go either array<int, string> (or array<array-key, string>), or, more simply string[] - but the latter form avoids those sorts of complaints. Might be worth having a looksee if psalm is similar.
@sidawson@cspray that's not the issue here. The same snippet should trigger PHPStan errors too, because it was the starting definition too strict, since it requires "list".
List is an array with only consecutive integer keys. If you don't re-index (and the spread operator does) you don't have a (guaranteed) list anymore.