Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fixes for PHP types #5495

Merged
merged 3 commits into from
Aug 31, 2023
Merged

Fixes for PHP types #5495

merged 3 commits into from
Aug 31, 2023

Conversation

distantnative
Copy link
Member

Some type-related fixes that came up when I tried strict typing.

@distantnative distantnative added this to the 4.0.0 milestone Aug 20, 2023
@distantnative distantnative requested a review from a team August 20, 2023 17:36
@distantnative distantnative self-assigned this Aug 20, 2023
src/Toolkit/V.php Outdated Show resolved Hide resolved
@@ -972,7 +980,7 @@ public static function safeTemplate(
public static function short(
string $string = null,
int $length = 0,
string $appendix = '…'
string|false $appendix = '…'
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Was false as the argument already supported or used before?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Member

@lukasbestle lukasbestle Sep 3, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@distantnative Should we really officially support this though by adding the type hint for false? If false is passed to an argument that is hinted for string, the false value is converted to an empty string. This can be made explicit in the calling code (here: Str::slug()) by passing an empty string instead of false in the first place.

I feel like supporting false is unnecessary because it doesn't add any benefit over an empty string, but makes the method signature and code more complex.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Idk, I'm indifferent, don't have any issue with supporting false either

src/Toolkit/Str.php Outdated Show resolved Hide resolved
distantnative and others added 2 commits August 26, 2023 17:58
Co-authored-by: Lukas Bestle <lukas@getkirby.com>
Co-authored-by: Lukas Bestle <lukas@getkirby.com>
@distantnative
Copy link
Member Author

@lukasbestle interestingly 581d10d seems to let the unit tests crash under PHP 8

@bastianallgeier
Copy link
Member

@lukasbestle does anything speak against reverting to substring?

@lukasbestle
Copy link
Member

I don't think reverting helps us here. We are scraping so close under the memory limit that basically any change will make us go over it. See our memory leak thread in Discord.

@distantnative
Copy link
Member Author

Can we then just merge this PR as we need to fix the test/memory issue separately?

@bastianallgeier bastianallgeier modified the milestones: 4.0.0, 4.0.0-beta.1 Aug 31, 2023
@bastianallgeier bastianallgeier merged commit a5d275d into v4/develop Aug 31, 2023
@bastianallgeier bastianallgeier deleted the v4/refactor/toolkit-strict branch August 31, 2023 08:13
lukasbestle added a commit that referenced this pull request Sep 24, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

3 participants