2013-05-08 123 views
0

我是新來的Zend框架,我已經安裝了zend frameworkd 1.12。它似乎在運行查找,除了視圖不讀取操作控制器中指定的命令。Zend Framework 1.12 - 操作控制器不工作

我用兩個控制器測試了一個是索引控制器,第二個是通過zf命令創建的控制器。這裏是代碼。

<?php 

class TestController extends Zend_Controller_Action 
{ 

    public function init() 
    { 
     /* Initialize action controller here */ 
     //echo "Please read this"; 
    } 

    public function indexAction() 
    { 
     echo 1; 
    } 

} 

這裏是鏈接到該控制器的視圖(只是要確定是不是問題)

Zend_Projects /測試1 /應用/視圖/腳本/測試/ index.phtml

和控制器的輸出:

- >>用於控制測試和腳本/動作名稱索引視圖腳本

它不會從回聲加1個或任何字符串命令

任何人都可以告訴我爲什麼控制器操作不被視圖讀取?

請任何形式的幫助表示讚賞,我提前道歉,如果這是一個愚蠢的問題, 。

問候的

+0

看來這個視圖並沒有讀取任何操作控制器項目。任何想法爲什麼? – 2013-05-08 05:44:21

+0

你在Zend_Projects/test1/application/views/scripts/test/index.phtml中使用瀏覽器打開嗎?這是我的朋友錯了。使用Zend_Projects/test1/public/test/index或類似的東西... – 2013-05-08 05:58:14

+0

按照你的建議進行,它仍然不起作用。公共文件夾只有一個單一的index.php文件在那裏,甚至當我複製索引「測試」文件它不起作用 – 2013-05-08 06:10:36

回答

0

根據對問題的評論

你不必複製anythin g php文件到公用文件夾除index.php外,還要確保在公共文件夾中存在.htaccess文件,並且在Apache中啓用了mod_rewrite。這就是說,如果你使用的是Apache(否則你應該使用你正在使用的服務器的url重寫方法)。如果這一切聽起來像是希臘語,那麼請參考http://framework.zend.com/manual/1.12/en/zend.controller.router.html

如果這一切已經存在這樣做可能會導致路由器出現問題。請參考http://framework.zend.com/manual/1.12/en/project-structure.rewrite.html

關鍵是你不要在瀏覽器中調用實際的phtml文件,這是由應用程序完成的。瀏覽器總是通過重寫URL來調用公用文件夾中的index.php。 index.php文件初始化zend應用程序並運行它。

1

如果你想輸出從您的視圖內採取行動的價值,你必須與傳遞:

public function indexAction() 
{ 
    $this->view->mytext = 'Test'; 
} 
現在

你一個.phtml腳本中:

<?php echo $this->mytext; ?> 
+0

我試着按你的建議,它也不工作。我在.phtml文件中添加了一個簡單的PHP代碼,它會輸出該代碼,但如果我在顯示時指定了php變量,或者在控制器中聲明瞭echo語句,則根本不會讀取它。感謝您的幫助。 – 2013-05-08 05:41:04