Home

PHP Anonymous Functions

The basic gist is to use the keyword function() with a block scope.

If you want to use variables declared by the direct parent scope, ensure you use the use() keyword. A simple example of this can be found below.

Simple Example

// anon.php <?php function helloWorld() { $anon = function() { return 'Hello, World!'; }; return $anon(); } function sumTwoArgsPlusOne($a, $b) { $c = 1; $anon = function($a, $b) use ($c) { return $a + $b + $c; }; return $anon($a, $b); }

// anon_test.php <?php require "anonymous.php"; class AnonymousTest extends PHPUnit\Framework\TestCase { public function testHelloWorld() { $this->assertEquals('Hello, World!', helloWorld()); } public function testSum() { $this->assertEquals(4, sumTwoArgsPlusOne(1, 2)); } }

Repository

https://github.com/okeeffed/developer-notes-nextjs/content/php/php-anon-funcs

Sections


Related