Anonymous¶
An anonymous structure is a structure that usually has a name, but may also go without it. When the structure is anonymous, some features are not available, such as creating or calling a new instance by using its name. Such operations must now handled by creating the asset, and handing it across the code base.
There a several structures which have an anonymous version:
Functions: there are two types: closures and arrow functions
Method: the magic method
__invoke()Classes
Constants: basically, it is a literal value
Catch: in this case, the exception is caught, but it is not provided in a related variable
Some structures are always named: variables, properties, traits, interfaces, enums.
Anonymous structures should not be confused with dynamic structures: these structures are defined with a name which is stored in a variable, or a similar data container. In fact, dynamic structures often rely on a name to be usable. This is the case of variables, with $$variable.
<?php
$closure = function () {} ;
$arrowFunction = fn() => 1;
'literal value';
// an object of an anonymous class
new class() {};
try {}
catch(Exception ) {}
?>
See also The Art of Being Anonymous in PHP.
Related : Anonymous Function, Anonymous Class, Anonymous Catch, Dynamic Call, __invoke() Method, Anonymous Constant, Name Conventions, Name, Structure