php-http / httplug

HTTPlug, the HTTP client abstraction for PHP
http://httplug.io
MIT License
2.57k stars 39 forks source link

People get the idea? #100

Closed sagikazarmark closed 8 years ago

sagikazarmark commented 8 years ago

Is it just me or people really don't get the idea behind httplug?

This is just one example:

https://github.com/toin0u/DigitalOceanV2/issues/75#issuecomment-166371056

dbu commented 8 years ago

i guess we need to have patience and be very clear in explaining that httplug is not another client, but a client abstraction layer so that libraries do not need to write their own layer, or tie themselves to a specific client implementation.

sagikazarmark commented 8 years ago

There are a few arguments which are totally acceptable in my opinion: not being stable, messy documentation, etc.

But people claiming to understand what HTTPlug is are being reluctant about using it and mention arguments which are either not true or reflect that they actually don't get the idea behind.

Wonder if it would be different if it was a PSR.

dbu commented 8 years ago

i am sure it being a PSR would make people get the correct assumption.

Nyholm commented 8 years ago

Sure it would be different with a PSR but that is far from the only solution. The situation is that every api client uses at least one http client. If it is a well built library (api client) they have adapters for Guzzle5 and 6 etc.

What we need to do is to explain why the current situation is a bad idea. But not in terms on "more code", "hard to maintain", "keep up with changes in guzzle" etc. I think we need to be more clever than that. Let's put on the hat of data scientist and explain that current situation violates the common reuse principle, dependency inversion principle and by doing adapters yourself you risk violating the liskov substitution principle etc etc. I do also believe that we need to show package dependencies in a graph/images.

The message we want to send is: "You focus on your api, we focus on the transportation of data. Trust us, we know our shit."

There are a few arguments which are totally acceptable in my opinion: not being stable, messy documentation, etc.

I believe these are signs for that developers do not trust us.

sagikazarmark commented 8 years ago

Nice summarizing @Nyholm

ddeboer commented 8 years ago

Yes, good summary. In our docs, we should answer the questions:

ddeboer commented 8 years ago

Documentation has improved a lot over the last couple of days. Please have a look at http://php-http.readthedocs.org/en/latest/ and let me know what we can do to make them even clearer.

sagikazarmark commented 8 years ago

I had an idea to create a two-step migration process: php-http/documentation#57

The idea is that you can use HTTPlug API internally without breaking BC at first.

sagikazarmark commented 8 years ago

Let's solve this. :smile: