From ca85ca56da67faacb06dee27c19b9e465c987538 Mon Sep 17 00:00:00 2001 From: Pascal Boutin Date: Tue, 6 Oct 2015 00:13:29 -0400 Subject: first draft of the french version of the PHP manual --- fr-fr/php.html.markdown | 690 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 690 insertions(+) create mode 100644 fr-fr/php.html.markdown (limited to 'fr-fr') diff --git a/fr-fr/php.html.markdown b/fr-fr/php.html.markdown new file mode 100644 index 00000000..b7b41ebe --- /dev/null +++ b/fr-fr/php.html.markdown @@ -0,0 +1,690 @@ +--- +language: PHP +contributors: + - ["Pascal Boutin", "http://pboutin.net/"] +filename: learnphp.php +lang: fr-fr +--- + +This document describes PHP 5+. + +```php + // Le code PHP doit être placé à l'intérieur de tags '' + +// Deux barres obliques amorcent un commentaire simple. + +# Le dièse également, bien que les barres obliques soient plus courantes + +/* + Les barres obliques et les astérisques peuvent être utilisés + pour faire un commentaire multi-ligne. +*/ + +// Utilisez "echo" ou "print" afficher une sortie +print('Hello '); // Affiche "Hello " sans retour à la ligne + +// Les parenthèses sont facultatives pour print et echo +echo "World\n"; // Affiche "World" avec un retour à la ligne +// tout les instructions doivent se terminer par un point-virgule + +// Tout ce qui se trouve en dehors des est automatiquement +// affiché en sortie +Hello World Again! + 12 +$int2 = -12; // => -12 +$int3 = 012; // => 10 (un 0 devant la valeur désigne une valeur octale) +$int4 = 0x0F; // => 15 (un 0x devant la valeur désigne une valeur hexadécimale) + +// Réels (floats, doubles) +$float = 1.234; +$float = 1.2e3; +$float = 7E-10; + +// Suppression d'une variable +unset($int1); + +// Arithmétique +$sum = 1 + 1; // 2 (addition) +$difference = 2 - 1; // 1 (soustraction) +$product = 2 * 2; // 4 (produit) +$quotient = 2 / 1; // 2 (division) + +// Arithmétique (raccourcis) +$number = 0; +$number += 2; // Incrémente $number de 2 +echo $number++; // Affiche 1 (incrémente après l'évaluation) +echo ++$number; // Affiche 3 (incrémente après l'évaluation) +$number /= $float; // Divise et assigne le quotient à $number + +// Les chaînes de caractères (strings) doivent être à +// l'intérieur d'une paire d'apostrophes +$sgl_quotes = '$String'; // => '$String' + +// Évitez les guillemets sauf pour inclure le contenu d'une autre variable +$dbl_quotes = "This is a $sgl_quotes."; // => 'This is a $String.' + +// Les caractères spéciaux sont seulement échappé avec des guillemets +$escaped = "This contains a \t tab character."; +$unescaped = 'This just contains a slash and a t: \t'; + +// En cas de besoins, placez la variable dans des accolades +$money = "I have $${number} in the bank."; + +// Depuis PHP 5.3, nowdocs peut être utilisé pour faire des chaînes +// multi-lignes non-interprétées +$nowdoc = <<<'END' +Multi line +string +END; + +// Heredocs peut être utilisé pour faire des chaînes multi-lignes interprétées +$heredoc = << 1, 'Two' => 2, 'Three' => 3); + +// PHP 5.4 a introduit une nouvelle syntaxe +$associative = ['One' => 1, 'Two' => 2, 'Three' => 3]; + +echo $associative['One']; // affiche 1 + +// Dans une liste simple, l'index est automatiquement attribué en tant que clé +$array = ['One', 'Two', 'Three']; +echo $array[0]; // => "One" + +// Ajoute un élément à la fin du tableau +$array[] = 'Four'; + +// Retrait d'un élément d'un tableau +unset($array[3]); + +/******************************** + * Affichage + */ + +echo('Hello World!'); +// Affiche Hello World! dans stdout. +// Stdout est la page web si on exécute depuis un navigateur. + +print('Hello World!'); // Pareil à "écho" + +// Pour écho, vous n'avez pas besoin des parenthèses +echo 'Hello World!'; +print 'Hello World!'; // Pour print non plus + +$paragraph = 'paragraph'; + +echo 100; // Affichez un scalaire directement +echo $paragraph; // ou des variables + +// Si le raccourci de sortie est configuré, ou si votre version de PHP est +// 5.4.0+, vous pouvez utiliser ceci: +?> +

+ 2 +echo $z; // => 2 +$y = 0; +echo $x; // => 2 +echo $z; // => 0 + +// Affiche le type et la valeur de la variable dans stdout +var_dump($z); // prints int(0) + +// Affiche la variable dans stdout dans un format plus accessible +print_r($array); // prints: Array ( [0] => One [1] => Two [2] => Three ) + +/******************************** + * Logique + */ +$a = 0; +$b = '0'; +$c = '1'; +$d = '1'; + +// assert affiche un avertissement dans son argument n'est pas vrai + +// Ces comparaisons vont toujours être vrais, même si leurs +// types ne sont pas les mêmes. +assert($a == $b); // égalité +assert($c != $a); // inégalité +assert($c <> $a); // inégalité (moins courant) +assert($a < $c); +assert($c > $b); +assert($a <= $b); +assert($c >= $d); + +// Ces comparaisons vont seulement être vrais si les types concordent. +assert($c === $d); +assert($a !== $d); +assert(1 === '1'); +assert(1 !== '1'); + +// Opérateur 'spaceship' depuis PHP 7 +$a = 100; +$b = 1000; + +echo $a <=> $a; // 0 car ils sont égaux +echo $a <=> $b; // -1 car $a < $b +echo $b <=> $a; // 1 car $b > $a + +// Les variables peuvent être transtypées dépendant de leur usage. + +$integer = 1; +echo $integer + $integer; // => 2 + +$string = '1'; +echo $string + $string; // => 2 + +$string = 'one'; +echo $string + $string; // => 0 +// Donne 0 car l'opérateur + ne peut pas transtyper la chaîne 'one' en un nombre + +// On peut également transtyper manuellement pour utiliser +// une variable dans un autre type + +$boolean = (boolean) 1; // => true + +$zero = 0; +$boolean = (boolean) $zero; // => false + +// Il y a également des fonctions dédiées pour transtyper +$integer = 5; +$string = strval($integer); + +$var = null; // Valeur Null + + +/******************************** + * Structures de contrôle + */ + +if (true) { + print 'Je suis affiché'; +} + +if (false) { + print 'Je ne le suis pas'; +} else { + print 'Je suis affiché'; +} + +if (false) { + print 'Je ne suis pas affiché'; +} elseif (true) { + print 'Je le suis'; +} + +// Opérateur ternaire +print (false ? 'N\'est pas affiché' : 'L\'est'); + +// Opérateur ternaire depuis PHP 5.3 +// équivalent de $x ? $x : 'Does' +$x = false; +print($x ?: 'Does'); + +// depuis PHP 7, on peut facilement vérifier si une valeur est nulle +$a = null; +$b = 'Hello World'; +echo $a ?? 'a is not set'; // Affiche 'a is not set' +echo $b ?? 'b is not set'; // Affiche 'Hello World' + + +$x = 0; +if ($x === '0') { + print 'Pas affiché'; +} elseif($x == '1') { + print 'Pas affiché'; +} else { + print 'Affiché'; +} + + +// Cette syntaxe alternative est particulièrement utile avec du HTML: +?> + + +

Ceci est affiché si $x est vrai

+ +

Sinon ce sera ceci

+ + + 2, 'car' => 4]; + +// Les boucles 'foreach' sont utiles pour parcourir les tableaux +foreach ($wheels as $wheel_count) { + echo $wheel_count; +} // Affiche "24" + +echo "\n"; + +// Il est également possible d'accéder aux clés du tableau +foreach ($wheels as $vehicle => $wheel_count) { + echo "Le $vehicle a $wheel_count roues"; +} + +echo "\n"; + +$i = 0; +while ($i < 5) { + if ($i === 3) { + break; // Permet d'arrêter la boucle + } + echo $i++; +} // Affiche "012" + +for ($i = 0; $i < 5; $i++) { + if ($i === 3) { + continue; // Permet de passer imédiatement à l'itération suivante + } + echo $i; +} // Affiche "0124" + + +/******************************** + * Fonctions + */ + +// On peut déclarer une fonction avec le mot clé 'function' +function my_function () { + return 'Hello'; +} + +echo my_function(); // => "Hello" + +// Un nom de fonction valide doit débuter par une lettre ou un souligné, +// suivi de n'importe, quelles lettres, nombres ou soulignés. + +function add ($x, $y = 1) { // $y est facultatif et sa valeur par défaut est 1 + $result = $x + $y; + return $result; +} + +echo add(4); // => 5 +echo add(4, 2); // => 6 + +// $result n'est pas accessible en dehors de la fonction +// print $result; // Retourne un avertissement + +// Depuis PHP 5.3 on peut déclarer des fonctions anonymes +$inc = function ($x) { + return $x + 1; +}; + +echo $inc(2); // => 3 + +function foo ($x, $y, $z) { + echo "$x - $y - $z"; +} + +// Une fonction peut retourner une fonction +function bar ($x, $y) { + // On peut utiliser 'use' pour passer des variables externes + return function ($z) use ($x, $y) { + foo($x, $y, $z); + }; +} + +$bar = bar('A', 'B'); +$bar('C'); // Affiche "A - B - C" + +// On peut exécuter une fonction par son nom en chaîne de caractères +$function_name = 'add'; +echo $function_name(1, 2); // => 3 +// Utile pour déterminer par programmation quelle fonction exécuter. + +// On peut également utiliser +call_user_func(callable $callback [, $parameter [, ... ]]); + +/******************************** + * Insertions + */ + +instanceProp = $instanceProp; + } + + // Les méthodes sont déclarés par des fonctions au sein de la classe + public function myMethod() + { + print 'MyClass'; + } + + // le mot clé 'final' rend la function impossible à surcharger + final function youCannotOverrideMe() + { + } + +/* + * Les attributs et méthodes statiques peuvent être accédés sans devoir + * instancier la classe. Les attributs statiques ne sont pas accessibles depuis + * une instance, même si les méthodes statiques le sont. + */ + + public static function myStaticMethod() + { + print 'I am static'; + } +} + +// Les constantes d'une classe peuvent toujours être utilisé de façon statique +echo MyClass::MY_CONST; // Outputs 'value'; + +echo MyClass::$staticVar; // Retourne 'static'; +MyClass::myStaticMethod(); // Retourne 'I am static'; + +// On peut instancier une classe en utilisant le mot clé 'new' +$my_class = new MyClass('An instance property'); + +// On peut accéder aux attributs/méthodes d'une instance avec -> +echo $my_class->property; // => "public" +echo $my_class->instanceProp; // => "An instance property" +$my_class->myMethod(); // => "MyClass" + + +// On peut hériter d'une classe en utilisant 'extends' +class MyOtherClass extends MyClass +{ + function printProtectedProperty() + { + echo $this->prot; + } + + // Surcharge d'une méthode + function myMethod() + { + parent::myMethod(); + print ' > MyOtherClass'; + } +} + +$my_other_class = new MyOtherClass('Instance prop'); +$my_other_class->printProtectedProperty(); // => Retourne "protected" +$my_other_class->myMethod(); // Retourne "MyClass > MyOtherClass" + +final class YouCannotExtendMe +{ +} + +// On peut utiliser des "méthodes magiques" pour se faire des accesseurs +class MyMapClass +{ + private $property; + + public function __get($key) + { + return $this->$key; + } + + public function __set($key, $value) + { + $this->$key = $value; + } +} + +$x = new MyMapClass(); +echo $x->property; // Va utiliser la méthode __get() +$x->property = 'Something'; // Va utiliser la méthode __set() + +// Les classes peuvent être abstraites (en utilisant le mot clé 'abstract'), ou +// elle peuvent implémenter une interface (en utilisant le mot clé 'implement'). + +// Une interface peut être déclarée avec le mot clé 'interface' + +interface InterfaceOne +{ + public function doSomething(); +} + +interface InterfaceTwo +{ + public function doSomethingElse(); +} + +// Les interfaces peuvent hériter d'autres interfaces +interface InterfaceThree extends InterfaceTwo +{ + public function doAnotherContract(); +} + +abstract class MyAbstractClass implements InterfaceOne +{ + public $x = 'doSomething'; +} + +class MyConcreteClass extends MyAbstractClass implements InterfaceTwo +{ + public function doSomething() + { + echo $x; + } + + public function doSomethingElse() + { + echo 'doSomethingElse'; + } +} + + +// Les classes peuvent implémenter plusieurs interfaces à la fois +class SomeOtherClass implements InterfaceOne, InterfaceTwo +{ + public function doSomething() + { + echo 'doSomething'; + } + + public function doSomethingElse() + { + echo 'doSomethingElse'; + } +} + +/******************************** + * Espaces de noms (namespaces) + */ + +// Cette section est séparée, car une déclaration d'espace de nom doit être +// la première chose que l'on retrouve dans un fichier PHP, +// imaginons que c'est le cas + + Date: Tue, 6 Oct 2015 15:11:34 -0400 Subject: Quick review for the fr-fr php page --- fr-fr/php.html.markdown | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'fr-fr') diff --git a/fr-fr/php.html.markdown b/fr-fr/php.html.markdown index b7b41ebe..6574a36f 100644 --- a/fr-fr/php.html.markdown +++ b/fr-fr/php.html.markdown @@ -2,7 +2,6 @@ language: PHP contributors: - ["Pascal Boutin", "http://pboutin.net/"] -filename: learnphp.php lang: fr-fr --- @@ -16,11 +15,11 @@ This document describes PHP 5+. // Deux barres obliques amorcent un commentaire simple. -# Le dièse également, bien que les barres obliques soient plus courantes +# Le dièse aussi, bien que les barres obliques soient plus courantes /* Les barres obliques et les astérisques peuvent être utilisés - pour faire un commentaire multi-ligne. + pour faire un commentaire multi-lignes. */ // Utilisez "echo" ou "print" afficher une sortie @@ -28,6 +27,7 @@ print('Hello '); // Affiche "Hello " sans retour à la ligne // Les parenthèses sont facultatives pour print et echo echo "World\n"; // Affiche "World" avec un retour à la ligne + // tout les instructions doivent se terminer par un point-virgule // Tout ce qui se trouve en dehors des est automatiquement @@ -248,7 +248,7 @@ $boolean = (boolean) $zero; // => false $integer = 5; $string = strval($integer); -$var = null; // Valeur Null +$var = null; // Valeur nulle /******************************** @@ -353,7 +353,7 @@ echo "\n"; // Il est également possible d'accéder aux clés du tableau foreach ($wheels as $vehicle => $wheel_count) { - echo "Le $vehicle a $wheel_count roues"; + echo "The $vehicle have $wheel_count wheels"; } echo "\n"; -- cgit v1.2.3 From 7ffea42953466151202155d3979f17b6b9b76bb1 Mon Sep 17 00:00:00 2001 From: pboutin Date: Tue, 6 Oct 2015 17:18:10 -0400 Subject: fixed grammar errors following the comments of vendethiel --- fr-fr/php.html.markdown | 57 ++++++++++++++++++++++++++----------------------- 1 file changed, 30 insertions(+), 27 deletions(-) (limited to 'fr-fr') diff --git a/fr-fr/php.html.markdown b/fr-fr/php.html.markdown index 6574a36f..1c8db89a 100644 --- a/fr-fr/php.html.markdown +++ b/fr-fr/php.html.markdown @@ -1,6 +1,6 @@ --- language: PHP -contributors: +translators: - ["Pascal Boutin", "http://pboutin.net/"] lang: fr-fr --- @@ -8,10 +8,10 @@ lang: fr-fr This document describes PHP 5+. ```php - // Le code PHP doit être placé à l'intérieur de tags '' +// généralement recommandé de ne pas fermer la balise '?>' // Deux barres obliques amorcent un commentaire simple. @@ -28,7 +28,7 @@ print('Hello '); // Affiche "Hello " sans retour à la ligne // Les parenthèses sont facultatives pour print et echo echo "World\n"; // Affiche "World" avec un retour à la ligne -// tout les instructions doivent se terminer par un point-virgule +// toutes les instructions doivent se terminer par un point-virgule // Tout ce qui se trouve en dehors des est automatiquement // affiché en sortie @@ -42,7 +42,7 @@ Hello World Again! // Les noms de variables débutent par le symbole $ // Un nom de variable valide commence par une lettre ou un souligné, -// suivi de n'importe quelle lettre, nombre ou soulignés. +// suivi de n'importe quelle lettre, nombre ou de soulignés. // Les valeurs booléenes ne sont pas sensibles à la casse $boolean = true; // ou TRUE ou True @@ -71,8 +71,8 @@ $quotient = 2 / 1; // 2 (division) // Arithmétique (raccourcis) $number = 0; $number += 2; // Incrémente $number de 2 -echo $number++; // Affiche 1 (incrémente après l'évaluation) -echo ++$number; // Affiche 3 (incrémente après l'évaluation) +echo $number++; // Affiche 2 (incrémente après l'évaluation) +echo ++$number; // Affiche 4 (incrémente avant l'évaluation) $number /= $float; // Divise et assigne le quotient à $number // Les chaînes de caractères (strings) doivent être à @@ -82,21 +82,21 @@ $sgl_quotes = '$String'; // => '$String' // Évitez les guillemets sauf pour inclure le contenu d'une autre variable $dbl_quotes = "This is a $sgl_quotes."; // => 'This is a $String.' -// Les caractères spéciaux sont seulement échappé avec des guillemets +// Les caractères spéciaux sont seulement échappés avec des guillemets $escaped = "This contains a \t tab character."; $unescaped = 'This just contains a slash and a t: \t'; -// En cas de besoins, placez la variable dans des accolades +// En cas de besoin, placez la variable dans des accolades $money = "I have $${number} in the bank."; -// Depuis PHP 5.3, nowdocs peut être utilisé pour faire des chaînes +// Depuis PHP 5.3, Nowdoc peut être utilisé pour faire des chaînes // multi-lignes non-interprétées $nowdoc = <<<'END' Multi line string END; -// Heredocs peut être utilisé pour faire des chaînes multi-lignes interprétées +// Heredoc peut être utilisé pour faire des chaînes multi-lignes interprétées $heredoc = << 1, 'Two' => 2, 'Three' => 3); // PHP 5.4 a introduit une nouvelle syntaxe @@ -142,7 +142,7 @@ echo $array[0]; // => "One" // Ajoute un élément à la fin du tableau $array[] = 'Four'; -// Retrait d'un élément d'un tableau +// Retrait d'un élément du tableau unset($array[3]); /******************************** @@ -187,7 +187,7 @@ echo $z; // => 0 // Affiche le type et la valeur de la variable dans stdout var_dump($z); // prints int(0) -// Affiche la variable dans stdout dans un format plus accessible +// Affiche la variable dans stdout dans un format plus convivial print_r($array); // prints: Array ( [0] => One [1] => Two [2] => Three ) /******************************** @@ -200,7 +200,7 @@ $d = '1'; // assert affiche un avertissement dans son argument n'est pas vrai -// Ces comparaisons vont toujours être vrais, même si leurs +// Ces comparaisons vont toujours être vraies, même si leurs // types ne sont pas les mêmes. assert($a == $b); // égalité assert($c != $a); // inégalité @@ -210,7 +210,7 @@ assert($c > $b); assert($a <= $b); assert($c >= $d); -// Ces comparaisons vont seulement être vrais si les types concordent. +// Ces comparaisons vont seulement être vraies si les types concordent. assert($c === $d); assert($a !== $d); assert(1 === '1'); @@ -224,7 +224,7 @@ echo $a <=> $a; // 0 car ils sont égaux echo $a <=> $b; // -1 car $a < $b echo $b <=> $a; // 1 car $b > $a -// Les variables peuvent être transtypées dépendant de leur usage. +// Les variables peuvent être transtypées dépendamment de leur usage. $integer = 1; echo $integer + $integer; // => 2 @@ -302,7 +302,7 @@ if ($x === '0') {

Ceci est affiché si $x est vrai

-

Sinon ce sera ceci

+

Ceci est affiché si $x est faux

"Hello" -// Un nom de fonction valide doit débuter par une lettre ou un souligné, -// suivi de n'importe, quelles lettres, nombres ou soulignés. + +// Les noms de fonction débutent par le symbole $ +// Un nom de variable valide commence par une lettre ou un souligné, +// suivi de n'importe quelle lettre, nombre ou de soulignés. function add ($x, $y = 1) { // $y est facultatif et sa valeur par défaut est 1 $result = $x + $y; @@ -435,7 +437,7 @@ call_user_func(callable $callback [, $parameter [, ... ]]); printProtectedProperty(); // => Retourne "protected" $my_other_class->myMethod(); // Retourne "MyClass > MyOtherClass" +// On peut empêcher qu'une classe soit héritée final class YouCannotExtendMe { } @@ -678,13 +681,13 @@ $cls = new SomeOtherNamespace\MyClass(); ## Pour plus d'informations -Visitez la [documentation officielle](http://www.php.net/manual/fr).. +Visitez la [documentation officielle](http://www.php.net/manual/fr). -Si vous êtes intéressé aux bonnes pratiques, visitez +Si vous êtes intéressé par les bonnes pratiques, visitez [PHP The Right Way](http://www.phptherightway.com/) (anglais seulement). -Si vous êtes habitué d'utiliser de bons gestionaires de dépendances, regardez +Si vous êtes habitué à utiliser de bons gestionaires de dépendances, regardez [Composer](http://getcomposer.org/). -Pour les standards, visitez "the PHP Framework Interoperability Group's" +Pour consulter les standards, visitez "the PHP Framework Interoperability Groups" [PSR standards](https://github.com/php-fig/fig-standards). -- cgit v1.2.3