0

我的应用中有这个组件:

class ImageComponent extends Component {


var $image;
var $image_type;

function __construct($filename = null){
    if(!empty($filename)){
        $this->load($filename);
    }
}

function load($filename) {
    $image_info = getimagesize($filename); //<<== LINE OF THE ERROR
    $this->image_type = $image_info[2];
    if( $this->image_type == IMAGETYPE_JPEG ) {
        $this->image = imagecreatefromjpeg($filename);
    } elseif( $this->image_type == IMAGETYPE_GIF ) {
        $this->image = imagecreatefromgif($filename);
    } elseif( $this->image_type == IMAGETYPE_PNG ) {
        $this->image = imagecreatefrompng($filename);
    } else {
        throw new Exception("The file you're trying to open is not supported");
    }

}
}

但是,当我刚刚加载组件时,我收到了这个错误:

 getimagesize() expects parameter 1 to be string, object given [APP/Controller/Component/ImageComponent.php, line 33]

谢谢

4

1 回答 1

0

组件的构造函数期望第一个参数是 ComponentCollection 对象。附带说明 - 更改父类函数的参数类型是一种代码味道

于 2013-10-20T20:43:16.403 回答