Bonjour,

J'ai le code suivant qui marche bien :
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;
En fait, pour exécuter mon fichier, il y a deux paramètres : firstName et lastName.

Si je l'exécute par la commande CMD :
php test.php Patrick Dupont
et j'obtiens :
sans fonction ::: 1er Paramètre : Patrick
2e Paramètre : Dupont
Si je l'exécute dans un navigateur
et j'obtiens la même chose :
sans fonction ::: 1er Paramètre : Nathalie
2e Paramètre : Boupont
J'ai voulu mettre dans une fonction pour diminuer le code et l'utiliser dans les autres fichiers.

Voici ma solution qui marche aussi :
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);
}
Mais comme vous voyez, c'est encore plus long que la 1re version.
Est-ce que vous pouvez m'aider pour faire une fonction plus épurée et le faire autrement.

Merci