neo4j-php-client
neo4j-php-client copied to clipboard
Preparation for migration to bolt V5
In future PHP Bolt library will change protocol classes and it won't be using chain of responsibility anymore. Each protocol version class won't be extending the previous one. It will change because changes between versions are not consistent. Therefore this php client needs to be prepared for this change.
I updated version check in the code with fn version_compare.
Good stuff! I am working on the connection resolver now, but will circle back to this later today!
Thanks :+1:
Just doing a cursory glance at the lint tests: it starts to complain about undefined methods. It shouldn't be a big deal. We need to typehint the protocol in phpdoc as V3|V4|V4_1|V4_2|V4_3|V4_4
before it stops yelling at us. Looks like you didn't actually break anything! :tada:
If interface reference will be used instead of abstract class will lint still complain about missing methods?
Yes, if the methods aren't defined, it will. Psalm is really strict
There are two complaints from Psalm I cannot solve until the actual new version is implemented. Consider this PR a draft until the new Bolt version has been released