Cron Job with Zend Framework
php -q -f /path/cronscript.php
/**************** I. ver. without Models**************/ $application = new Zend_Application( APPLICATION_ENV, APPLICATION_PATH . '/configs/application.ini' ); $application->getBootstrap()->bootstrap(array('db')); $db = $application->getBootstrap()->getResource('db'); $rows = $db->fetchAll("SELECT ....."); //DELETE try { $condition = array( 'id IN(?)'=> $rows ); $delete = $db->delete('users',$condition); Zend_Debug::dump($delete); } catch (Zend_Exception $e) { echo $e->getMessage(); } /**************** II. ver. using models **************/ $application = new Zend_Application( APPLICATION_ENV, APPLICATION_PATH . '/configs/application.ini' ); $application->bootstrap(); //in controller $db = Zend_Db_Table::getDefaultAdapter(); $rows = $db->fetchAll("SELECT ....."); //Model $model = new Model_DbTable_Users(); if (!empty($rows)) { $result = $model->deleteUsersById($rows); Zend_Debug::dump($result); }
In II. version I use $application->bootstrap(); instead of $application->bootstrap() ->run();
run(): If so, it registers the bootstrap with the ‘bootstrap’ parameter of the front controller, and dispatches the front controller.
http://www.mediabandit.co.uk/blog/248_setting-up-cron-with-zend-framework-1-11