【发布时间】:2012-05-22 22:44:56
【问题描述】:
我想在 Zend Framework 中创建一个 cronjobs。我创建了一些示例,现在我的代码是这样的:(文件 \public\index.php )
<?php
date_default_timezone_set('Europe/Amsterdam');
// Define path to application directory
defined('APPLICATION_PATH') || define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/../application'));
// Define application environment
defined('APPLICATION_ENV')
|| define('APPLICATION_ENV', 'development');
// Ensure library/ is on include_path
set_include_path(implode(PATH_SEPARATOR, array(
realpath(APPLICATION_PATH . '/../library') ,
get_include_path(),
)));
/** Zend_Application */
require_once 'Zend/Application.php';
// Create application, bootstrap, and run
$application = new Zend_Application(
APPLICATION_ENV,
APPLICATION_PATH . '/configs/application.ini'
);
$application->bootstrap();
/** Cronjobs don’t need all the extra’s **/
if(!defined('_CRONJOB_') || _CRONJOB_ == false)
{
$application->bootstrap()->run();
}
?>
我在与应用程序相同的级别上添加了一个名为 cronjobs 的新文件夹,并添加了一个名为 cronjobs.php 的新文件
<?php
define("_CRONJOB_",true);
require('../public/index.php');
//HERE I NEED SOME CODE FOR CALLING EMAIL CONTROLLER
register_shutdown_function('__shutdown');
function __shutdown() {
global $time, $memory;
$endTime = microtime(true);
$endMemory = memory_get_usage();
echo '
Time [' . ($endTime - $time) . '] Memory [' . number_format(( $endMemory - $memory) / 1024) . 'Kb]';
}
?>
我需要在这个 cronjobs.php 文件中CALL一个控制器(我有一个我想调用它的电子邮件控制器)。我需要使用该控制器的一些操作,这将使用一些视图模板向我发送邮件。 我怎么能做到这一点?你能帮助我吗? 非常感谢, 波格丹。
【问题讨论】:
-
cronjobs 通常不调用控制器(无论如何都不使用 php -f)。如果你想调用控制器,最好在 *nix 上使用
wget
标签: zend-framework controller cron