l0t3k wrote:
> in other (compiled) programming languages, a function prototype specifies
> the "contract" between the function and its callers, and
> makes explicit the programmer's intentions as to how the function is to be
> called. Usually expected parameter types and passing methods specified by
> the function as checked at compile-time to ensure that parameters passed to
> the function are as expected.
>   in specifying a parameter as by-reference, the programmer makes it clear
> that the function may modify the value of the parameter. In specifying the
> parameter as by-value, s/he states that the passed in parameter will not
> reflect any changes when the function returns. This is its "contract" with
> the caller of the function. However, allowing call_time_pass_reference
> violates this by bypassing the programmer's explicit intention in not
> declaring a parameter by reference.

Thanks for thorough explanation. I already thought about it, came to the
same conclusion and documented it.

Jakub Vrana

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

Reply via email to