我有个问题。我想在Web应用程序启动时添加我的自定义库,并在应用程序布局中使用它。我想创建一个表单(由2个串联的select和ajax函数组成),它必须在应用程序的所有部分都可见。当我尝试使用我的助手自定义库时,这是错误消息:
Fatal error: Class 'SelectSearchList' not found in C:'Program Files (x86)'xampp'htdocs'Easyanimal'module'Application'view'layout'layout.phtml on line 118
这是vendor/comporter/autoload_namespaces.hp:的代码
<?php
// autoload_namespaces.php generated by Composer
$vendorDir = dirname(__DIR__);
$baseDir = dirname($vendorDir);
return array(
'Zend''' => $vendorDir . '/zendframework/zendframework/library/',
'ZendTest''' => $vendorDir . '/zendframework/zendframework/tests/',
'MyHelpLib''' => $vendorDir . '/MyHelpLib/',
);
这是我在vendor/MyHelpLib/LoaderSelect.php中的帮助库:
namespace MyHelpLib
class SelectSearchList {
public $select;
public function showOpt (){
return $select = '<option value="">Select...</option>';
}
}
这是我在应用程序/视图/布局中的布局
<?php
use MyHelpLib'LoaderSelect;
$Opt = new SelectSearchList();
echo $Opt->showOpt();
?>
我试着在Application/module.php中添加这个,但它又不起作用了!
public function getAutoloaderConfig()
{
return array(
'Zend'Loader'StandardAutoloader' => array(
'namespaces' => array(
__NAMESPACE__ => __DIR__ . '/src/' . __NAMESPACE__,
'MyHelpLib' => __DIR__ . '/../../vendor/MyHelpLib',
),
),
);
}
非常感谢的帮助
创建视图辅助对象。http://framework.zend.com/manual/2.3/en/modules/zend.view.helpers.advanced-usage.html#writing-自定义助手
Index''src''View''Helper''MyHelpLib
namespace Index'View'Helper;
use Zend'View'Helper'AbstractHelper;
class MyHelpLib extends AbstractHelper
{
public function __invoke()
{
return 'MyHelper'
}
}
Index''config''module.config.php
return array(
...
'view_helpers' => array(
'invokables' => array(
'MyHelpLib' => ''Index'View'Helper'MyHelpLib'
)
)
);
layout.phtml
echo $this->MyHelpLib();