Skip to content

Conversation

@sander-bol
Copy link

Hi. I've been in contact with Andreas about wanting to contribute to upgrading JoindIn to Slim 3. We agreed it'll be a huge undertaking, best split into multiple PRs.

This PR is trying to lay a foundation for that work by running Rector over the codebase, sprinkling in Type Safety through the project. In addition, I also took a stab at cleaning up the BaseApi class.

Tests still pass, and clicking through the core functionalities still works.

@sander-bol sander-bol force-pushed the feature/incremental-improvements-2 branch from 6d4a6ad to fdab784 Compare April 9, 2025 06:41
Disabling roave/security-advisories for now, as it blocks us from doing the small incremental changes we want.

Introducing prophecy to make the tests run without errors.

Bumping PHP version to 7.4
Mostly null coalescing and ::class
List destructuring
Fix to setCookie switching to array syntax
Shorthand function syntax
Lots of unneeded docblock comments that are now replaced with actual type hints... gone!
I'm not particularly fond of the aligned-assignment-operator styling, but "When in Rome". I'll look into adding a .idea config so that at least PHPStorm automatically does the right thing when formatting.
Rector apparently got tricked by the mix of stdClass for success, and array of single message for failure.

I'll inspect if this is happening in more places. Only showed up when testing with a failing login, which I hadn't done during my initial testing runs yet.
Redirect throws an Exception that Slim Framework handles.
@sander-bol sander-bol force-pushed the feature/incremental-improvements-2 branch from e6ec3ea to 6df9297 Compare April 11, 2025 22:39
This caused the star to get stuck until you refreshed the page, because the browser would assume the XHR call failed.
This helps with catching errors instead of having the specific API class have to deal with the response.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant