matteosister / GitElephant

An abstraction layer for git written in PHP

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

phpcollection/phpcollection seems to be unmaintained

jurgenhaas opened this issue · comments

See schmittjoh/php-collection#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?

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.

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

  • AbstractCollection
  • AbstractSequence
  • CollectionInterface
  • Sequence
  • SequenceInterface

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.

...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.

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.

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.