> I believe removal of it is going to cause a lot of BC Breaks...
They can't have BC breaks on something that is not standardized yet.
PSR-11 is still a work in progress as far as I know.
PSR-11, aka ContainerInterface, has been sleeping for too long. Let's get that PSR moving!
PEAR most definitely wants to keep the package-level base exception, as it is a convention we always expect to be available. We have *required* this for years, originally as a class in PEAR1 standards, until we came up with the idea of it instead being an interface while working on the PEAR2 standards. We were quite happy with its demonstrated benefits, which proved even better as an interface than a class [1], and were tickled to see the use of it spread into the community after we published it.
We would prefer to *not* lose the base exception interface requirement.
CRB
[1] -- https://wiki.php.net/pear/rfc/pear2_exception_policy
--
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 php-fig+unsubscribe@googlegroups.com.
To post to this group, send email to php...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/php-fig/325BF45B-4638-43AA-9D6F-59BADB38C65E%40gmail.com.
You received this message because you are subscribed to a topic in the Google Groups "PHP Framework Interoperability Group" group.To unsubscribe from this topic, visit https://groups.google.com/d/topic/php-fig/_vdn5nLuPBI/unsubscribe.To unsubscribe from this group and all its topics, send an email to php-fig+u...@googlegroups.com.
To post to this group, send email to php...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/php-fig/CANsgjnuZ%2B-MW1Avdu67RCqKQXkEA2YUSs%2BMrJqerRK3gXn6q%2BA%40mail.gmail.com.
catch (\PEAR2\PackageName\Exception $e)
.PEAR most definitely wants to keep the package-level base exception, as it is a convention we always expect to be available. We have *required* this for years, originally as a class in PEAR1 standards, until we came up with the idea of it instead being an interface while working on the PEAR2 standards. We were quite happy with its demonstrated benefits, which proved even better as an interface than a class [1], and were tickled to see the use of it spread into the community after we published it.
We would prefer to *not* lose the base exception interface requirement.
CRB[1] -- https://wiki.php.net/pear/rfc/pear2_exception_policy
On Aug 15, 2016 7:35 PM, "Paul Jones" <pmjo...@gmail.com> wrote:
> On Aug 15, 2016, at 14:10, Matthieu Napoli <matt...@mnapoli.fr> wrote:
>
> Hi,
>
> PSR-11, aka ContainerInterface, has been sleeping for too long. Let's get that PSR moving!
Woohoo!
> Here is a change I would like to suggest: remove the interface ContainerException.
...
> After years of using container-interop and ContainerInterface I have not seen a use case for that exception. We initially added it to represent any exception that could happen in a container.
On principle alone, I usually like to see a package-specific base exception class, so that you can catch any/every exception from a particular package. (Maybe that's more an unnecessary consistency on my part.)
--
Paul M. Jones
http://paul-m-jones.com
--
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 php-fig+u...@googlegroups.com.
To post to this group, send email to php...@googlegroups.com.To view this discussion on the web visit https://groups.google.com/d/msgid/php-fig/325BF45B-4638-43AA-9D6F-59BADB38C65E%40gmail.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to a topic in the Google Groups "PHP Framework Interoperability Group" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/php-fig/_vdn5nLuPBI/unsubscribe.
To unsubscribe from this group and all its topics, send an email to php-fig+u...@googlegroups.com.
To post to this group, send email to php...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/php-fig/CANsgjnuZ%2B-MW1Avdu67RCqKQXkEA2YUSs%2BMrJqerRK3gXn6q%2BA%40mail.gmail.com.
Hey there Matthieu,
As a consumer of a PSR-implementing library, not only would I only type-hint against the PSR interfaces rather than the library's elements, I would also only type-hint against the PSR exceptions for catches. Unless my consumer code's catch is specifically able to deal with one specific PSR exception (e.g. NotFoundException), then I would generally only catch against the library's base exception, thus able to generically contain the scenario of the library itself throwing whatever it might throw. In this case, I understand the feeling that having only one (specific) exception can make a base exception seem unnecessary. However, I think keeping it not only allows for the convention/expectation that consumers may already have... it also future-proofs my consumer code for when this PSR is BC-superceded and adds more exceptions.
A less prevalent case might be the implementing library having its own larger set of exceptions, where it won't necessarily make sense for them all to extend/implement the one NotFoundException. The worse alternative there would be for the library have and throw its own... now my consumer code has to know about them rather than staying only PSR-aware. If the base exception is available, the library can extend/implement from it, and thus all library-added exceptions can be caught by catching the PSR base exception alone.
CRB
To unsubscribe from this group and all its topics, send an email to php-fig+unsubscribe@googlegroups.com.
To post to this group, send email to php...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/php-fig/CANsgjnuZ%2B-MW1Avdu67RCqKQXkEA2YUSs%2BMrJqerRK3gXn6q%2BA%40mail.gmail.com.For more options, visit https://groups.google.com/d/optout.
--
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 php-fig+unsubscribe@googlegroups.com.
To post to this group, send email to php...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/php-fig/1471433444.1345100.697863737.35716C31%40webmail.messagingengine.com.
Hi,PSR-11, aka ContainerInterface, has been sleeping for too long. Let's get that PSR moving!Here is a change I would like to suggest: remove the interface ContainerException.
1. ContainerException- One interface to represents a runtime and logic exceptions so at the end we should always base on the implementation. - No clear context. - Enforces exception implementation.
2. NotFoundException- Not found what? Container was not found? - No clear context.
get
method with a non-existing id MUST throw a
Psr\Container\Exception\NotFoundExceptionInterface
.The whole idea to use interfaces with exceptions to mark 'something' is totally impractical. If we think that something is very important we should provide the exception classes derived from standard exception hierarchy, just like we do providing PSR interfaces, because classes are just interfaces.