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

WRONG LIBRARY #1594

Closed
applibs opened this issue Jan 22, 2021 · 3 comments
Closed

WRONG LIBRARY #1594

applibs opened this issue Jan 22, 2021 · 3 comments

Comments

@applibs
Copy link

applibs commented Jan 22, 2021

It's unbelievable how this library is kept in a terrible state. If I could choose, I would get my hands off her, but unfortunately she's in another library.

Its impossible write here all fails in source code!

@terrafrost
Copy link
Member

You're trying to use the phpseclib 2 API with phpseclib 3. phpseclib 3 has a COMPLETLY DIFFERENT API. Read the documentation at phpseclib.com to learn how to use it. If you want to use phpseclib 2's API use https://github.com/phpseclib/phpseclib2_compat

@phpseclib phpseclib locked as off-topic and limited conversation to collaborators Jan 22, 2021
@terrafrost
Copy link
Member

I mean, seriously, libraries change their API's all the time. When I was updating .travis.yml to make it so that phpseclib 1 / 2 / 3 were all tested on PHP 8 I had to update the version of PHPUnit I was using and in order to do that I had to rewrite a bunch of methods and had to employ sed scripts to rewrite methods so that those versions of phpseclib could be unit tested on PHP 8. Since I still wanted phpseclib to be unit tested on PHP 5.3 I had to support older versions of PHPUnit, too, but that was challenging because the new version I added had BC breaking changes, hence the need for the sed scripts (PHPUnit 9.4 uses return types for methods so if you extend them the new methods have to use them too even tho that produces syntax errors on older versions of PHP) and the rewriting of methods (PHPUnit 9.4 removed assertInternalType and changed assertContains to make it only work with arrays).

Pain in the ass? Yes. But it's also par for the course. And, btw, phpseclib 2 is still supported. You don't have to use phpseclib 3 if you don't want to.

@terrafrost
Copy link
Member

And if you don't think BC breaks happen all the time with new major releases then explain https://laravelshift.com/ or https://getrector.org/ . Go ahead, I'll wait! 🙄

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants