matteosister / GitElephant

An abstraction layer for git written in PHP
GNU Lesser General Public License v3.0
613 stars 74 forks source link

phpcollection/phpcollection seems to be unmaintained #188

Closed jurgenhaas closed 1 year ago

jurgenhaas commented 1 year ago

See https://github.com/schmittjoh/php-collection/issues/31

There are issues with PHP 8 and even for PRs, there is no feedback from the maintainer and no activity for 19 months.

The above issue links to a fork, which would probably be a better choice?

GenieTim commented 1 year ago

The one feature that is actually in use from this package seems to be \PhpCollection\Sequence.

I can also imagine trying to get rid of it completely.

I might tackle this earliest starting next year, but feel free to submit a PR, I will gladly merge it if appropriate.

jurgenhaas commented 1 year ago

This looks pretty straight forward. There are 3 classes and 2 interfaces that would have to be copied into this project here:

And a new dependency for phpoption/phpoption would be introduced.

Is that the way to go? If so, I'm happy to put that into a PR.

GenieTim commented 1 year ago

...or replace it with arrays. That would be a breaking change, but as I see it, reducing such overhead that is not required for functionality is a positive thing.

Feel free to open a PR switching the composer dependency, I guess that would be fine already for now.

jurgenhaas commented 1 year ago

Well, switching to array would be a much bigger task. I get started with copying the 5 files and updating the dependency, then you can have a look and make your decision.

jurgenhaas commented 1 year ago

Created first PR and left the original comments in the files from the other package for now. Also, code style is complaining as the code was taken from the other repository. Can be addressed iof the general approach is being decided.

Turned out, that there was also a use-statement for the PhpCollection\Map class, but it seems that wasn't ever really used, so I've removed that too.