
Closure is an anonymous function (a function without name. Ex- function(){}) assigned to a variable.With using closure one can use the variable from immediate parent scope or even the variable declared inside the global scope.
Closure has a great little feature that you may or may not have heard of. It’s essentially a way to reduce the verbosity when writing functions that accept other functions as arguments.
Reducing the size of your code with Closure will allow your PHP scripts to load faster and take up less disk space. You may also find that coding in Closure results in programs that are easier to understand and debug by reducing complexity, which can be challenging when dealing with dynamic languages like PHP.
Using closure functions in PHP can help to make code more succinct, expressive, and safer.
There are several ways to implement closures in PHP.
The above statement can be executed with the use language construct inside the function.
Syntax:
function() use ($variable) { /* code to be executed */ }
What is a Closure?
A Closure is a function that can call itself, even when it has finished executing. In other words, Closure is a function that can access variables outside its own scope. This is made possible through a process in which the function remembers and “closes over” its surrounding variables, even after it has finished executing.
When a function is said to be “closed over” a certain set of variables, what this means is that those variables are in fact “closed” and are no longer in their original scope, but instead exist in the new scope of the function that captured them.
A closure is a function that captures its non-global variables (known as “free variables”) from the execution environment in which it was created. The closure remembers and can use those variables as if it were still executing in that environment. This is a very powerful feature that can greatly increase the expressive power of a programming language.
Read More on Use Closure in PHP