Utiliser CodeIgniter dans l’invite de commandes
Publication le 10 septembre 2010 par benoitVoici comment utiliser Codeigniter en invite de commandes.
Pour bien commencer, on va d’abord configurer votre installation du framework. Il faut créer un fichier cli.php à la racine de votre projet.
Collez-y ces lignes : (cli.php)
if (isset($_SERVER['REMOTE_ADDR'])) {
die(); // Empêche l'exécution de ce fichier par le navigateur
}
set_time_limit(0);
$_SERVER['PATH_INFO'] = $_SERVER['REQUEST_URI'] = $argv[1];
require dirname(__FILE__) . ‘/index.php’;
Créez un controller pour effectuer vos tests :
class Hello extends Controller {
function __construct() {
if (isset($_SERVER['REMOTE_ADDR'])) {
die();
}
parent::Controller();
}
function index() {
print ‘Hello !’;
}
}
Vous êtes désormais paré à utiliser Codeigniter dans votre invite de commandes
Ouvrez le terminal et exécutez : php cli.php ‘hello/index’
Je vous recommande vivement de télécharger la librarie CLI.php de Phil Sturgeon sur GitHub. Elle vous aidera, dans votre controller, à afficher des messages, demander à l’utilisateur de saisir des paramètres, et même de faire bipper l’ordinateur…
Elle se charge comme toute librarie :
$this->load->library(‘cli’);
Voici quelques exemples :
// Affiche un message
$this->cli->write(« Coucou ! »);
// Attend que l’utilisateur appuie sur une touche pour continuer
$this->cli->wait();
// Récupère une saisie
$this->cli->read($autant, $de, $variables, $que, $vous, $le, $desirez);
// BEEEEP!
$this->cli->beep($nombre_de_fois = 3);
J’ai pas mal d’idées de choses que je pourrais faire avec ça… Un générateur de code serait le top, je vais voir si ça peut se faire – et si j’en ai le temps ! A vous de me dire quels usages vous en faites ! Bon code
PS : Je me suis inspiré de cet article sur Nettuts, ne passez pas à côté il fourmille de bonnes infos !
