2010-10-08 16 views

Répondre

2

Vous devez dupliquer le code de public/index.php sans appeler la méthode run de Zend_Application (qui exécute le composant MVC) et charger uniquement les ressources dont vous avez besoin.

#!/usr/bin/php 
<?php 
define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/../application')); 

set_include_path(realpath(APPLICATION_PATH . '/../library')); 

require_once 'Zend/Application.php'; 

$application = new Zend_Application(
    APPLICATION_ENV, 
    APPLICATION_PATH . '/configs/application.ini' 
); 
// Load only the ressources that you need 
$application->getBootstrap()->bootstrap(
    array(
     'Db' 
    ) 
); 

// Do stuff 

Prenez soin de l'adapter à l'emplacement de votre script cli.

2

Fondamentalement, une interface CLI est juste une couche de présentation différente. Si vous maintenez la séparation de votre M vs VC propre, tout ce dont vous avez besoin est un nouveau point d'entrée pour adresser le Modèle, par exemple votre interface CLI.

Vous pouvez utiliser Zend_Console_Getopt pour faciliter le développement du client CLI. Il vous permet d'analyser rapidement les entrées passées à un script CLI. Vous devrez alors déléguer toute entrée à votre modèle, comme vous le feriez "régulièrement".