The template below produces different results in this PHP implementation and in Shopify's Ruby implementation. Since this is a port of the Ruby implementation, I believe it should either have matching behavior, or include a clear warning of the difference.
{% if false and false or true %}
TRUE
{% else %}
FALSE
{% endif %}
Ruby:
PHP:
I think this is because Shopify/liquid evaluates logical operators right-to-left, as noted here: https://shopify.dev/docs/api/liquid/basics#order-of-operations
And from my read of the php-liquid implementation, it seems to evaluate them left-to-right. https://github.com/kalimatas/php-liquid/blob/master/src/Liquid/Tag/TagIf.php#L132-L142
Thank you!