在Kohana中使用Zend Framework

在Kohana文档之guide/kohana/autoloading 中有说明:
在应用目录新建一名为vendors的目录,然后下载Zend Framework 并把Zend目录COPY到vendors目录下面。
然后就是加载了,有两种方法,一种是利用ZF的自动加载,另一种是自己手动require了。

方法一是Kohana官方文档中所讲的:
在应用 的bootstrap 中加入Zend的Autoloader :
修改应用目录下面的bootstrap.php
在适当的位置加上如下代码:

1
2
3
4
5
6
7
8
9
10
11
/**
 * Enable Zend Framework autoloading
 */

if ($path = Kohana::find_file('vendor', 'Zend/Loader'))
{
    ini_set('include_path',
    ini_get('include_path').PATH_SEPARATOR.dirname(dirname($path)));
 
    require_once 'Zend/Loader/Autoloader.php';
    Zend_Loader_Autoloader::getInstance();
}

使用举例(利用ZF的邮件发送类来发送email):

1
2
3
4
5
6
7
8
9
10
if ($validate($_POST))
{
    $mailer = new Zend_Mail;
 
    $mailer->setBodyHtml($view)
        ->setFrom(Kohana::$config->load('site')->email_from)
        ->addTo($email)
        ->setSubject($message)
        ->send();
}

方法二来自Fred Wu的博客
其实和上面的代码差不多,只是注册自动加载那两行代码不要了:

1
2
3
4
5
if ($path = Kohana::find_file('vendors', 'Zend/Exception'))
{
    ini_set('include_path',
    ini_get('include_path').PATH_SEPARATOR.dirname(dirname($path)));
}

然后在使用时手动require相应类:

1
2
require_once 'Zend/Mail.php';
$mail = new Zend_Mail;
更多
One Response Post a comment
  1. Demon

    还木有人来沙发。得快呀。

Leave a Reply

Note: You may use basic HTML in your comments. Your email address will not be published.

Subscribe to this comment feed via RSS