PHP Anonymous Functions

Published: Mar 7, 2019

Last updated: Mar 7, 2019

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)); } }

Personal image

Dennis O'Keeffe

Byron Bay, Australia

Share this post

Recommended articles

Dennis O'Keeffe

2020-present Dennis O'Keeffe.

All Rights Reserved.