向 ZF 添加和访问库的最佳实践是什么?我正在尝试添加 phpmailer,我应该将它添加到库文件夹吗?我现在如何访问此文件,因为它不使用 ZF 命名约定。谢谢!
最佳答案
将相关文件拖放到库文件夹中。然后你可以创建一个像这样的自动加载器:
在文件 library/My/Loader/Autoloader/PhpMailer.php
中:
class My_Loader_Autoloader_PhpMailer implements Zend_Loader_Autoloader_Interface
{
/**
* Autoload a class
*
* @param string $class
* @return mixed
* False [if unable to load $class]
* $class [if $class is successfully loaded]
*/
public function autoload($class)
{
if ('PHPMailer' === $class) {
include 'class.phpmailer.php';
return $class;
}
return false;
}
}
然后将此自动加载器添加到 ZF 自动加载器堆栈,可能在 Bootstrap
中:
protected function _initAutoloader()
{
$autoloader = Zend_Loader_Autoloader::getInstance();
// The following is not necessary if My_ is already a registered namespace
// in the ZF autoloader
require 'My/Loader/Autoloader/PhpMailer.php';
$autoloader->pushAutoloader(new My_Loader_Autoloader_PhpMailer());
}
我已经为涉及更多遗留类命名/映射的示例做了类似的事情,这非常有帮助。
关于php - 希望将 phpmailer 库添加到 Zend Framework 设置中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5890039/