Php 扩展Kohana 3.3中的图像类

Php 扩展Kohana 3.3中的图像类,php,image,module,kohana,Php,Image,Module,Kohana,我需要使用具有相同名称()的模块的iMagick扩展类映像,但我不能这样做 我想添加一个新的方法调用“cache”。这就是我想做的: classes/Image.php abstract class Image extends Kohana_Image {} abstract class Kohana_Image { public function cache() { $this->_do_cache(); } abstract pro

我需要使用具有相同名称()的模块的iMagick扩展类映像,但我不能这样做

我想添加一个新的方法调用“cache”。这就是我想做的:

classes/Image.php

abstract class Image extends Kohana_Image {}
abstract class Kohana_Image {

    public function cache()
    {
        $this->_do_cache();
    }

    abstract protected function _do_cache();
}
classes/Kohana/Image.php

abstract class Image extends Kohana_Image {}
abstract class Kohana_Image {

    public function cache()
    {
        $this->_do_cache();
    }

    abstract protected function _do_cache();
}
类别/科哈纳/图像/图像

class Kohana_Image_Imagick extends Image {

    protected function _do_cache()
    {
        // do something here
    }

}
下面是我如何调用该方法的:

Image::factory(DOCROOT.'/media/img/myimage.jpg')->cache();
这就是错误:

ErrorException [ Fatal Error ]: Call to undefined method Image_Imagick::cache()
只想让您知道,iMagick已正确安装,使用本机映像类工作正常。

希望你们能帮助我,谢谢。

您必须:

设置
Image::$default_driver='Imagick'

或者称之为
工厂
指定要使用的驱动程序:

Image::factory(DOCROOT.'/media/img/myimage.jpg', 'Imagick')->cache();
如果不指定要使用的驱动程序,Kohana将返回到
图像::$default\u driver

旧答案

您没有所需的类

// APPPATH./classes/Image/Imagick.php

class Image_Imagick extends Kohana_Image_Imagick {} // empty class
然后您应该能够调用
Image\u Imagick::cache

如果您想从
Image

// APPPATH./classes/Image.php

class Image extends Kohana_Image_Imagick {} // empty class

现在您可以拨打
Image::cache

您好,谢谢您的回复。是的,我已经看过文件了。是的,我将图像::$default\u driver设置为“imagick”。我创建了必需的类,但也不起作用。