php - 希望将 phpmailer 库添加到 Zend Framework 设置中

标签 php zend-framework phpmailer

向 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/

相关文章:

php - 使用 phpmailer 添加自定义 header

php - NSURLMutableRequest 与 POST 方法和 PHP

php - 如何访问 ZF2 Field Set 中的数据库适配器?

php - 为什么会出现此错误以及如何修复它?

android - 建议对移动应用程序 api 进行 Web 身份验证?

php - PHPMailer 中的无效地址

php - 将行添加到 HTML 表并随后添加到数据库

php - 如何使用数组项查找所有可能的顺序

php - 如何从 PHP 中的时间戳格式化日期?

php - 使用 PHPMailer 发送邮件时无法在主题中发送表情符号