gpt4 book ai didi

php - Zend Framework - 在注册表中找不到按名称命名的插件

转载 作者:可可西里 更新时间:2023-11-01 12:32:56 24 4
gpt4 key购买 nike

当调用我的views/helpers/ 文件中的函数时,从我在views/scripts/ 中的脚本> ,我得到这个错误:

Message: Plugin by name 'SetBlnCompany' was not found in the registry; used paths: My_View_Helper_: /www/zendserver/htdocs/development/application/views/helpers/ Zend_View_Helper_: Zend/View/Helper/:/www/zendserver/htdocs/development/application/views/helpers/

bootstrap.php

protected function _initConfig()
{
Zend_Registry::set('config', new Zend_Config($this->getOptions()));
date_default_timezone_set('America/Chicago');
}

protected function _initAutoload() {
$autoloader = new Zend_Application_Module_Autoloader(array(
'namespace' => 'My',
'basePath' => dirname(__FILE__),
));
return $autoloader;
}

application.ini

resources.view.helperPath.My_View_Helper = APPLICATION_PATH "/views/helpers" 

application/views/helpers/DropdownHelper.php

class Zend_View_Helper_Dropdownhelper extends Zend_View_Helper_Abstract
{
public $blnCompany = false;

public function getBlnCompany() {
return $this->blnCompany;
}

public function setBlnCompany($blnCompany) {
$this->blnCompany = $blnCompany;
}
}

导致错误的脚本

<?php 
$this->setBlnCompany(true);
//...etc...
?>

编辑以在我的帖子中添加更多背景信息。

理想情况下,我会使用这个“下拉助手”类,有一个用于“获取 html”的函数,一个用于“获取 javascript”的函数,以及许多用于在调用 getHtml 和 getJavascript 之前设置选项的 setter 函数。

最佳答案

您的助手必须与您的方法同名。将 Zend_View_Helper_Dropdownhelper 更改为 Zend_View_Helper_GetBlnCompany 它将起作用。不要忘记更改文件名:GetBlnCompany.php

为了使用代理方法,你只需要return $this;:

// /application/views/helpers/helpers/GetBlnCompany.php
class Zend_View_Helper_GetBlnCompany extends Zend_View_Helper_Abstract
{
public function getBlnCompany()
{
return $this;
}

public function fooBar($blnCompany)
{
return ucfirst($blnCompany);
}
}

然后,您需要按如下方式调用您的 View 助手:

$this->getBlnCompany()->fooBar('google');
//return "Google"

关于php - Zend Framework - 在注册表中找不到按名称命名的插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9537419/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com