Exécuter des fonctionnalités depuis la console, un terminal ou un programmateur / ordonanceur externe
-
Script console
Le point d’entrée pour l’exécution depuis une page web d’une fonctionnalité du logiciel est le script itrocks/framework/index.php.
De la même façon, il existe un script qui permet l’exécution de fonctionnalités en ligne de commande : itrocks/framework/console.php.
S’assurer que le script console est exécutable
Sous Linux, vous pouvez vous assurer que le script console.php est exécutable :
Le script console est un script bash qui va chercher php là où il est installé en standard en distribution Debian / Ubuntu / Mint : /usr/bin/php. Si l’exécutable php est à un autre endroit, vous avez la possibilité (liste non exhaustive) :
chmod ugo+x itrocks/framework/console.php
- d’exécuter le script avec une ligne de commande php itrocks/framework/console.php
- de créer votre launcher qui utilise votre persion de PHP puis require ‘chemin/de/votre/projet/itrocks/framework/console.php’.
Paramètres envoyés au script
- Le premier paramètre envoyé au script console est l’URI, ou chemin de fonctionnalité à exécuter.
Exemple :
./console.php /ITRocks/Framework/User/json
pour charger la liste des utilisateurs au format json.- Les paramètres suivants sont les paramètres envoyés aux contrôleurs, équivalents des paramètres
$_GET
dans le cas d’une exécution depuis une page web (eux-aussi transmis comme paramètres aux contrôleurs).
Exemple :
Ici on a rajouté des paramètres :./console.php /ITRocks/Framework/User/json term=Robert* memory_limit=2G time_limit=900
- à destination du contrôleur :
term=Robert*
lui demande de filtrer les utilisateurs dont le login commence par Robert - à destination du contrôleur principal : memory_limit et time_limit permettent de passer outre les réglages par défaut de PHP, et d’autoriser 2G de consommation de mémoire et une exécution jusqu’à 900 secondes à la place des 30 secondes prévues par défaut.
Tester depuis votre programme si vous êtes en mode console
Lorsque le script est en mode console, le framework stockera dans
$_SERVER['REMOTE_ADDR']
la valeur ‘console’.Cette information sera utile notamment aux plugins de gestion de droits d’accès, où à votre programme, s’il doit se comporter différemment selon si le script a été exécuté depuis un clic dans un navigateur ou en ligne de commande.