簡體   English   中英

ZF 1.12自定義視圖助手-打開失敗

[英]ZF 1.12 custom view helper - failed opening

我正在重組Zend 1.12項目。 我有幾個視圖助手:

  • OutputComplexForm.php
  • OutputDistributorsList.php

我把它們放在/ application / views / helpers中

類名是

  • Zend_View_Helper_OutputComplexForm
  • Zend_View_Helper_OutputDistributorsList

據我了解,如果您具有Zend_View_Helper前綴,則無需向application.ini添加任何配置。

現在,當我嘗試加載任何頁面(甚至那些不使用幫助器的頁面)時,我會收到錯誤消息:

Message: Zend_Session::start() - /otms/vendor/zendframework/zendframework1/library/Zend/Loader.php(Line:134): Error #2 include_once(): Failed opening    'Zend/View/Helper/OutputComplexForm.php' for inclusion (include_path='/otms/application/../library:/otms/application/../library/phpseclib0.3.1:/otms/application/../library/Amazon:/otms/application/../library/USPS:/otms/application/../library/Composer:/otms/library:/otms/vendor/phpseclib/phpseclib/phpseclib:/otms/vendor/zendframework/zendframework1/library:.:/usr/share/php:/usr/share/pear') 

我錯過了什么?

UPD

我發現調用函數后發生了錯誤

$startedCleanly = session_start(); //line 482

在文件/Zend/Session.php中。 在此調用之后,Zend_Session_Exception :: $ sessionStartError屬性包含描述的錯誤消息。 我仍然看不到開始會話和初始化視圖助手之間的聯系。

對於應用程序特定的類,你寫的-東西,里面出現./application/* -通常應該不會在Zend_偽命名空間。 相反,它們應該位於appnamespace中配置的./application/config/application.ini

默認名稱空間是“ Application_”,因此通常將名為MyHelper的視圖幫助MyHelper存儲在文件./application/views/helpers/MyHelper.php

class Application_View_Helper_MyHelper extends Zend_View_Helper_Abstract
{
    public function myHelper()
    {
        // do your stuff here
    }
}

請注意,類名是大寫駝峰式MyHelper ,而方法是小寫駝峰式myHelper()

在您的視圖中,可以使用以下命令調用視圖幫助器:

<?php

$output = $this->myHelper();
// Do something with $output

有了這些有關命名空間,類名,文件位置/名稱以及調用語法的約定,View的插件加載器應該能夠找到,加載和執行您的view-helper方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM