[Filesystem] Support resources and deprecate using arrays in dumpFile() and appendToFile()#29661
Conversation
chalasr
left a comment
There was a problem hiding this comment.
UPGADE-4.3.md needs to be updated
|
Would need a separate PR, but would you accept a new method that takes a resource? |
|
What about reusing the same method? |
|
I would be in favor of supporting resources and strings in the existing method. |
|
@fabpot Updated to match. |
…() and appendToFile()
|
Thank you @thewilkybarkid. |
…ays in dumpFile() and appendToFile() (thewilkybarkid) This PR was squashed before being merged into the 4.3-dev branch (closes #29661). Discussion ---------- [Filesystem] Support resources and deprecate using arrays in dumpFile() and appendToFile() | Q | A | ------------- | --- | Branch? | master | Bug fix? | no | New feature? | no | BC breaks? | no | Deprecations? | yes | Tests pass? | yes | Fixed tickets | | License | MIT | Doc PR | Running PHPStan on my project picked up that passing a resource to `Filesystem::dumpFile()` didn't match the documented type. I found this has been discussed in #20980 and #28019, without a clear result. But, my reading is that only strings should be supported. While I think that not supporting streams makes this a lot less useful (and I'm going to switch away from it), this does need to be resolved. So, I've deprecated using arrays and resources. Commits ------- 0eaf9d2 [Filesystem] Support resources and deprecate using arrays in dumpFile() and appendToFile()
|
The current type-hints that were added in 5.x for these methods prevent us from passing resources because the file is type-hinted as Update: this only breaks on Windows for some reason... this is my workaround to deal with |
Running PHPStan on my project picked up that passing a resource to
Filesystem::dumpFile()didn't match the documented type.I found this has been discussed in #20980 and #28019, without a clear result. But, my reading is that only strings should be supported. While I think that not supporting streams makes this a lot less useful (and I'm going to switch away from it), this does need to be resolved. So, I've deprecated using arrays and resources.