I run and pub and brewery in the east of England that was established in 1991. We have lots of breweries around here and none of them seem to be on openbrewerydb. I have joined the Discord and will see if I can contribute some info.
Hey OP I don't think I've seen this mentioned yet, but one important thing to consider is the collection of PSRs (PHP Standard Recommendations), several of which are around HTTP clients.
This is an important component to decoupling packages from specific underlying implementations like Guzzle.
You can even use the auto-discovery package to have whichever conforming HTTP client is installed (like Guzzle for example) be utilized, or allow via dependency injection an existing HTTP client to be passed in.
This would be a great enhancement since the PHP community has done a great job with these shared standards, it is a common expectation across packages to utilize them.
Heck yeah, more PHP things here please!
Check OpenBreweryClient.php for comment rot, e.g. references to Blizzard and ‘game’ APIs.
Welcome to PHP! :)
Glad to have you join the community!
This looks great!
Is there an open database of beers/ratings similar to Untappd? Bar/brewery owners I know hate Untappd because of the exorbitant fees they charge.
I'm curious, what made you decide to use final classes and private properties in your Client class? I'd recommend taking a look at https://ocramius.github.io/blog/when-to-declare-classes-fina... if you haven't seen it before.
I'm not sure that this is the right use of the term "binding". Maybe more of an SDK?
modern PHP has become indistinguishable from Java, which begs a question: why PHP, when Python is less verbose, if you want less verbosity and scripting.
and Java is same verbosity + has more mature (and arguably more performant) runtime + benefits of statically compiled language and rich library ecosystem?
what is selling point of PHP, that python and java don't fit into ?? (lets not even mention javascript/node with its runtime)
I work extensively in PHP, am rather fond of it, and have built out quite a lot of tooling in the language. The reputation it has from the early 00s is quite mismatched against its current capabilities and I'm glad to see more people picking it up. The API you've put together is modern and follows a lot of the best practices so thanks for your hard work!