diff --git a/README.md b/README.md index 13ae4cd..bf4ceea 100644 --- a/README.md +++ b/README.md @@ -6,3 +6,5 @@ Licence [WTFPL](http://www.wtfpl.net/) Sources : [Gitlab](https://gitlab.deblan.org/deblan/cours-php/src/master/un_peu_plus_loins/les_fonctions.md) (pull requests appréciées **:)**) + + diff --git a/SUMMARY.md b/SUMMARY.md index 006fcf7..3e1393a 100644 --- a/SUMMARY.md +++ b/SUMMARY.md @@ -19,7 +19,9 @@ * [Exercice](les_bases/test.md) * [Un peu plus loins…](un_peu_plus_loins/README.md) * [Les variables superglobales](un_peu_plus_loins/les_variables_globales.md) + * [Portées des variables](un_peu_plus_loins/portees_des_variables.md) * [Les constantes](un_peu_plus_loins/les_constantes.md) * [Les fonctions](un_peu_plus_loins/les_fonctions.md) * [Les fomulaires](un_peu_plus_loins/les_fomulaires.md) * [Exercices](un_peu_plus_loins/exercice.md) + diff --git a/book.json b/book.json new file mode 100644 index 0000000..9e26dfe --- /dev/null +++ b/book.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/cover.svg b/cover.svg new file mode 100644 index 0000000..57f427c --- /dev/null +++ b/cover.svg @@ -0,0 +1,1016 @@ + + + + + + + + + + image/svg+xml + + + + + + + + PHP 5 + Simon Vieille + + diff --git a/un_peu_plus_loins/les_fonctions.md b/un_peu_plus_loins/les_fonctions.md index 1116240..cc43381 100644 --- a/un_peu_plus_loins/les_fonctions.md +++ b/un_peu_plus_loins/les_fonctions.md @@ -55,3 +55,5 @@ foreach ($dimensions as dimension) { } ``` +Quand in introduit un ```return``` dans une fonction, elle stop son exécution et retourne la valeur indiquée. Si aucun ```return``` n'est placé alors elle va retourner ```null```. + diff --git a/un_peu_plus_loins/portees_des_variables.md b/un_peu_plus_loins/portees_des_variables.md new file mode 100644 index 0000000..d850f76 --- /dev/null +++ b/un_peu_plus_loins/portees_des_variables.md @@ -0,0 +1,58 @@ +# Portées des variables + +La portée d'une variable définie dans quelle portion de code elle est accessible. + +```php +$a = "foo"; + +function bar($a) { + $a = strtolower($a); + + return $a; +} + +echo bar($a); + +``` + +À présent, quelle est la valeur de ```$a``` ? + +## Comment ça marche ? + +Pour faire simple : + + +```php +$a = 10; + +if ($a) { + // $a est accessible + $b = 20; + + while ($b) { + // $a est accessible + // $b est accessible + + $c = 30; + + function foo() { + global $b; + + // $a est inaccessible + // $b est accessible + + $d = 40; + } + + $b = null; + } +} + +// $b n'est pas accessible si la condition n'est pas remplie +// $c n'est pas accessible si la condition est la boucle sont exécutées +// $d ne sera jamais accessible + +// Se code ne pourra jamais s'exécuter car la création +// des la fonction ```foo``` 10 fois de suite n'est pas possible + +```