2013-11-04 56 views
0

我是初學者,我有一個關於Zend中組織的問題(帶有Model View Controller體系結構)。Zend,組織和MVC

目前,該解釋... 比方說,我有一個對象 「$主題」(Zend_Db_Table_Row_Abstract)該對象 「$成員」(Zend_Db_Table_Row_Abstract)可以訂閱。問題 如果我關掉$主題$主語>禁用()),成員預計將收到一封電子郵件......

我的問題是,在那裏我應該做的操作(找到會員訂閱者,向他們發送電子郵件,通知......)。 現在我在我的課程Subject中的disable()函數中執行它,你會看到。我並不認爲這是真正正確的做法(儘管這可能有效)...

你有想法嗎,答案...?

預先感謝您:)

回答

1

很久以前,我做了同樣的事情。 我創建了一個模型類EmailsOut,我把它稱爲從控制器

CREATE TABLE `emails_out` (
    `id` SMALLINT(5) UNSIGNED NOT NULL AUTO_INCREMENT, 
    `subject` VARCHAR(255) NOT NULL DEFAULT '', 
    `body` LONGTEXT NULL, 
    `from` VARCHAR(255) NOT NULL, 
    `to` MEDIUMTEXT NULL, 
    `cc` MEDIUMTEXT NULL, 
    `bcc` MEDIUMTEXT NULL, 
    `status` VARCHAR(50) NOT NULL DEFAULT 'ready', 
    PRIMARY KEY (`id`), 
    UNIQUE INDEX `id` (`id`) 
) 

在模型中EmailsOut.php

class MyApp_Model_DbTable_EmailsOut extends Zend_Db_Table_Abstract 
{ 
    protected $_name = 'emails_out'; 
} 

在你的控制器

public function turnOffAction() { 

    // Creation of your $subject object. 

    // Disabling the subject 
    $subject->disable(); 

    //Sending the email 
    $tEmailsOut = new MyApp_Model_DbTable_EmailsOut(); 
    $email = $tEmailsOut->createRow(); 
    $email->subject ="This is the subject"; 
    $email->body = "This is the body"; 
    $email->from = "[email protected]|Mr. X"; 
    $email->to = "[email protected]|Mr. Y"; 
    $email->save(); 

    // The rest of the function 
} 

然後,我有cron作業每分鐘發送一次所有電子郵件