Php 如何在非实例类的实例上运行方法/函数?

Php 如何在非实例类的实例上运行方法/函数?,php,class,Php,Class,恕我直言,我正在努力学习语言 一旦一个对象被实例化,我就知道那个类中的方法对我是可用的。我的问题是,我如何能够从一个类而不是在所述对象上实例化的类运行方法 具体而言: class image { public static function create() { $image = new Imagick($file); $image -> image::autoRotate($image); ... } public

恕我直言,我正在努力学习语言

一旦一个对象被实例化,我就知道那个类中的方法对我是可用的。我的问题是,我如何能够从一个类而不是在所述对象上实例化的类运行方法

具体而言:

class image {
    public static function create() {
        $image = new Imagick($file);
        $image -> image::autoRotate($image);
        ...
    }

    public static function autoRotate($image) {
        ...
    }
}

行$image->image::autoRotate($image)产生错误,我理解语法和/或我的理解有误。有人能帮我理解如何实现这一点吗?

因为
image
类实际上不是
$image
对象的属性,所以不需要使用
$image->
语法来执行该操作。由于
autoRotate()
是一个静态函数,因此可以仅从类访问器
image::autoRotate($image)调用它


由于
image
类实际上不是
$image
对象的属性,因此不需要使用
$image->
语法来执行该操作。由于
autoRotate()
是一个静态函数,因此可以仅从类访问器
image::autoRotate($image)调用它


公共静态函数可以由
classname::funcname
直接调用,无需先实例化对象。就你而言:

class image {
    public static function create() {
        $image = new Imagick($file);
        image::autoRotate($image);
        ...
    }

    public static function autoRotate($image) {
        ...
    }
}

公共静态函数可以由
classname::funcname
直接调用,无需先实例化对象。就你而言:

class image {
    public static function create() {
        $image = new Imagick($file);
        image::autoRotate($image);
        ...
    }

    public static function autoRotate($image) {
        ...
    }
}
试着更换线路

$image -> image::autoRotate($image);
用这个

self::autoRotateImage($image);
尝试更换线路

$image -> image::autoRotate($image);
用这个

self::autoRotateImage($image);

您不需要
$image->
零件还应按约定计算类名您不需要
$image->
零件还应按约定计算类名