This repository has been archived by the owner on Dec 16, 2019. It is now read-only.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is a thread-safe port of the php streams layer, including wrappers, transports and filters. Resources were replaced by objects and the following new classes introduced.
Streams
File
Stream
StreamContext
StreamWrapper
StreamFilter
StreamBucket
StreamBucketBrigade
pthreads_user_filter
FileStream
SocketStream
See stub.php. A
File
class definition in global scope will be a huge BC break though. Maybe we will find another name or introduce a namespace, whatever that looks like.Predefined wrappers
Predefined filters
string.rot13
string.toupper
string.tolower
Todo
What's next? Removal of Todos for sure. I would like to publish this in a timely manner as prerelease in a separate branch to get audience and feedback. Possibly with other BC breaking changes like #906 and the behavior of static members initialization.
On top of this PR a port of the openssl "ssl" wrapper will follow.
@tpunt @dktapps Thoughts, questions?
Big thanks to the team behind php-src!