On 10.11.2009, at 21:31, Stanislav Malyshev wrote:

ok .. so your objection to the RFC is solely because it introduces a new language construct?

No, my objection is that it is not necessary to introduce a language construct, and the construct introduced is not the right one. If frameworks want to find out if file exists or get its name - we should give them API to do that. If they want just to silence the errors - they already have the construct to do that.


They dont want to determine if a file exists. They want to be able to handle the case of a missing file being included differently than a syntax error. Since php core does not provide such features, the only way to do this is using the fopen() hack, iterating over the include path .. or I guess track errors with @. My proposal actually makes it possible to do what the frameworks need with less overhead. There is no way to do what these frameworks need inside userland without the above mentioned hacks. The fact that almost all frameworks are forced to use these hacks and quite a significant number of developers use frameworks (resulting in quite a number of apps end users install also using these frameworks) implies that we are not talking about an edge case here.

Now I also made it clear that its not about blindly silencing "errors" but there is a need to differentiate between different error causes. Of course having to use @ for such a common use case is also not ideal. Its just that the error handling we provide internally isnt really able to handle this scenario well:

1) checking before adds overhead and opens issue with potential race conditions 2) silencing the error and using track errors adds overhead and potential issues with custom error handlers

Anyways, lets see if there are other comments in the coming days. I think you have made your priorities clear. At least I understand them, but do not share them.

regards,
Lukas Kahwe Smith
m...@pooteeweet.org




--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to