2012-06-27 26 views
0

可能重複:
Running a Zend Framework action from command line獨立PHP應用程序的Zend Framework 1.11

我要創建使用Zend Framework中的PHP應用程序(1.11版本)。它基本上用於在郵件服務器上執行一些例行任務,該服務將通過cron作業運行。

但是,因爲未來可能會有很好的基於HTML的監控系統,所以我希望具有可用的佈局功能。

所以真的有兩個問題:

  1. 如何從渲染視圖禁用Zend框架,當我在命令行中運行?
  2. 如果我訪問特定的網址,我通常會如何構建一個界面?

在此先感謝您的建議。

+0

您使用的是哪個版本的Zend Framework? – Stony

+0

我正在使用ZF 1.11 – beingalex

+1

http://stackoverflow.com/questions/2325338/running-a-zend-framework-action-from-command-line – Stony

回答

2

我自動做這些日常任務,如:

  1. 發出發票
  2. 發送短信+郵件通知
  3. 做一些看家的東西[緩存+移動文件歸檔+ .... etc]

我得到了這個想法http://www.davidcaunt.co.uk/2010/02/25/easy-command-line-scripts-with-zend-application/和我已經擴展到做管理任務+添加任務+刪除任務+流程任務。

通常我不提供任何看法,只是調用函數和類任務+參數

+0

謝謝,但我真的需要能夠通過瀏覽器請求應用程序的web ui服務。在這裏找到我的答案:http://stackoverflow.com/a/4706966/387761 – beingalex

+2

使用@tawfekov的方法答案仍然允許你有一個Web UI,選擇性引導方法對於運行cron很有用,因爲你沒有初始化完整的Zend Framework堆棧(這非常重要)。從那裏你仍然可以與Zend所需的組件(Db,Mail等)進行交互。當你準備建立你的Web UI時,你可以去使用完整的MVC堆棧 –

0

在你的控制器,你可以創建,如果該鏈接是通過你的cronjob要求可以接收參數的作用。就像這樣:

public function somepageAction() { 
    if($this->_getParam('requestedByCronJob') { 
     $this->_helper->layout()->disableLayout(); 
     $this->_helper->viewRenderer->setNoRender(); 
    } 

    //Add the code here 
    //The view/scripts/controller/somepage.phtml will be loaded if the parameter requestedbycronjob was not passed 

}