On 01/03/2017 08:43 AM, Pedro Cordeiro wrote:
Hi, Paul! Thanks for replying. I'll reply inline.
> The PSR-16 standard says that in the event of an invalid passed TTL
then this is the specific class typehint that will be thrown.
It doesn't, actually. It only says an InvalidArgumentException MUST be
thrown if the provided $key is not a legal string. There is no
reference to what it SHOULD/MUST do in case of an invalid TTL.
> in the context of if it only wants INT or DateInterval only, that's
not for us to decide
In the context of interoperability, I believe it should be. By
allowing each implementation to decide if they will work with ONLY
int, ONLY \DateInterval or ONLY something else whatsoever, we end up
with incompatible implementations. I find it odd that the spec implies
that **normally** TTLs are ints or dateintervals, yet enforces neither
and allows for each implementation to decide what kind of data it will
get.
That's not how I read the spec at all. An implementation that doesn't
accept an int in seconds and a DateInterval is Wrong(tm), per spec. Of
course, what happens when you pass something else is... not defined and
runs into the same issue that PSR-6 had where we docblock-specified
something but not typed it (in that case for PHP version reasons). Damn.
Since PSR-16 has been accepted, I'm not sure how much it can change,
anyway. At this point, I don't think enforcing a minimum would break
any of the very few implementations out there. But if I had the choice
(and I deeply regret not seeing this before the vote), I'd have the
spec force implementations to allow at least ints and dateintervals,
while giving room for them to implement any other types they wish so.
Just out of curiosity, is it possible to ammend a PSR once it's live?
A PSR may not be amended ever. However, errata may be added to the
metadocument by vote of, I guess now the Core Committee, I think?
I need to call a new vote on the PSR-6 errata at some point soon anyway.
--Larry Garfield
--
You received this message because you are subscribed to the Google Groups "PHP
Framework Interoperability Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/php-fig/a2ff5906-855a-8e25-ecc0-0e0c7dbc7cb9%40garfieldtech.com.
For more options, visit https://groups.google.com/d/optout.