De scope van 'use'

Let op: keyword 'use' importeert alleen uit de scope waar je je closure definieert. Wil je variabelen importeren uit bijvoorbeeld de global scope, dan zal je het keyword 'global' moeten gebruiken. Tenzij je je closure ook binnen diezelfde global scope definieert.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php
$global_a
= "Ik ben global_a\n";

function
function_a() {

    $scope_b = "Ik ben scope_b\n";

    $closure_a = function() use ($global_a, $scope_b) {
        echo $global_a;
        
        echo $scope_b;
        
        echo "Ik ben closure_a\n";
    };

    
    $closure_a();
}


function_a();

/* resultaat:
Ik ben scope_b
Ik ben closure_a
*/

?>

Merk op dat $global_a niet beschikbaar was binnen $closure_a, omdat $global_a niet bestaat binnen de scope van function_a.

« Lees de omschrijving en reacties

Inhoudsopgave

  1. Je eerste closure
  2. Variabelen importeren in een closure
  3. De scope van 'use'
  4. Closure en objecten
  5. WTF?! - de opsomming
  6. Disclaimer

PHP tutorial opties

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.