rfc:consistent_callables
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
rfc:consistent_callables [2019/04/28 02:58] – danack | rfc:consistent_callables [2021/10/20 13:18] (current) – danack | ||
---|---|---|---|
Line 3: | Line 3: | ||
* Date: 2019-04-28 | * Date: 2019-04-28 | ||
* Author: Dan Ackroyd | * Author: Dan Ackroyd | ||
- | * Status: | + | * Status: |
* First Published at: https:// | * First Published at: https:// | ||
Line 226: | Line 226: | ||
- A string that is the name of a function. | - A string that is the name of a function. | ||
- An array consisting of two elements; a string at index 0 which is a valid fully qualified class name, and a string at index 1 which must meet the conditions: | - An array consisting of two elements; a string at index 0 which is a valid fully qualified class name, and a string at index 1 which must meet the conditions: | ||
- | | + | |
- | + | * the name must not be that of an instance method. | |
- | | + | - An array consisting of two elements; an object at index 0, and a string at index 1 where either the string is the name of a public method of the object, or the object has a magic %%__call%% method. |
- | - An array consisting of two elements; an object at index 0, and a string at index 1 where either the string is the name of a public method of the object, or the object has a magic __call method. | + | - A string of the form `%CLASS_NAME%:: |
+ | * either be the name of a public static function of the class or the class must have a magic %%__callStatic%% method. | ||
+ | * the name must not be that of an instance method. | ||
- An instance of a class (an object) where the class has a public __invoke() method. | - An instance of a class (an object) where the class has a public __invoke() method. | ||
- Closures, which includes anonymous functions. | - Closures, which includes anonymous functions. | ||
+ | |||
Note - Does not affect calling private/ | Note - Does not affect calling private/ | ||
Line 256: | Line 259: | ||
</ | </ | ||
- | In this example, although `$fn` is not a callable that can be passed around to arbitrary scopes, it is valid to call it in the scope that it's in. call_user_func and $fn() will continue to check whether the variable passed in is callable in the current scope. i.e. with is_callable($fn, | + | In this example, although `$fn` is not a callable that can be passed around to arbitrary scopes, it is valid to call it inside |
==== The strings ' | ==== The strings ' |
rfc/consistent_callables.1556420303.txt.gz · Last modified: 2019/04/28 02:58 by danack