Bonjour,
J'ai le code suivant qui marche bien :
En fait, pour exécuter mon fichier, il y a deux paramètres : firstName et lastName.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 if (PHP_SAPI === 'cli') { $firstName = $argv[1]; $lastName = $argv[2]; } else { $firstName = $_GET['firstName']; $lastName = $_GET['lastName']; } echo 'sans fonction ::: 1er Paramètre : ' . $firstName . PHP_EOL . ' 2e Paramètre : ' . $lastName;
Si je l'exécute par la commande CMD :
et j'obtiens :php test.php Patrick Dupont
Si je l'exécute dans un navigateursans fonction ::: 1er Paramètre : Patrick
2e Paramètre : Dupont
et j'obtiens la même chose :
J'ai voulu mettre dans une fonction pour diminuer le code et l'utiliser dans les autres fichiers.sans fonction ::: 1er Paramètre : Nathalie
2e Paramètre : Boupont
Voici ma solution qui marche aussi :
Mais comme vous voyez, c'est encore plus long que la 1re version.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
26 function getparametersArguments($argvArry = NULL, $paramArry = NULL){ if (PHP_SAPI === 'cli') { $firstName = $argvArry[0]; $lastName = $argvArry[1]; } else { $firstName = $paramArry[0]; $lastName = $paramArry[1]; } return PHP_EOL . 'avec une fonction : 1er Paramètre : ' . $firstName . PHP_EOL . ' 2e Paramètre : ' . $lastName; } if (isset($argv[1])) { $argvArry = [ $argv[1], $argv[2], ]; echo PHP_EOL . getparametersArguments($argvArry, $paramArry = NULL); } else { $paramArry = [ $_GET['firstName'], $_GET['lastName'], ]; echo PHP_EOL . getparametersArguments($argvArry = NULL, $paramArry); }
Est-ce que vous pouvez m'aider pour faire une fonction plus épurée et le faire autrement.
Merci
Partager