PHP:将参数的类型声明为类(如Java)

PHP:将参数的类型声明为类(如Java),php,function,class,type-hinting,type-declaration,Php,Function,Class,Type Hinting,Type Declaration,我们可以在java中将参数的类型指定为Class或Class或Class或Class,正如您所说,这在PHP中被称为 PHP文档中的示例: <?php // An example class class MyClass { /** * A test function * * First parameter must be an object of type OtherClass */ public function test(Othe

我们可以在java中将参数的类型指定为
Class
Class
Class
Class,正如您所说,这在PHP中被称为

PHP文档中的示例:

<?php
// An example class
class MyClass
{
    /**
     * A test function
     *
     * First parameter must be an object of type OtherClass
     */
    public function test(OtherClass $otherclass) {
        echo $otherclass->var;
    }


    /**
     * Another test function
     *
     * First parameter must be an array
     */
    public function test_array(array $input_array) {
        print_r($input_array);
    }

    /**
     * First parameter must be iterator
     */
    public function test_interface(Traversable $iterator) {
        echo get_class($iterator);
    }

    /**
     * First parameter must be callable
     */
    public function test_callable(callable $callback, $data) {
        call_user_func($callback, $data);
    }
}

// Another example class
class OtherClass {
    public $var = 'Hello World';
}
?>

正如您所说,这在PHP中被称为

PHP文档中的示例:

<?php
// An example class
class MyClass
{
    /**
     * A test function
     *
     * First parameter must be an object of type OtherClass
     */
    public function test(OtherClass $otherclass) {
        echo $otherclass->var;
    }


    /**
     * Another test function
     *
     * First parameter must be an array
     */
    public function test_array(array $input_array) {
        print_r($input_array);
    }

    /**
     * First parameter must be iterator
     */
    public function test_interface(Traversable $iterator) {
        echo get_class($iterator);
    }

    /**
     * First parameter must be callable
     */
    public function test_callable(callable $callback, $data) {
        call_user_func($callback, $data);
    }
}

// Another example class
class OtherClass {
    public $var = 'Hello World';
}
?>

你想要一个通用的“类”类型还是一个特定的类?@Scuzzy。二者都但是如果一个不可能,我想要另一个。每一个都有它自己的重要性。看起来这可能是相关的:--据我所知,PHP不提供您目前所追求的这种类型的功能。您可以省略类型声明,这并不理想,但这样做将允许您拥有不同的实例,其中一些使用
string
,一些使用
FooClass
,等等on@Pigeon. 我的想法和你一样。你想要一个通用的“类”类型还是一个特定的类?@Scuzzy。二者都但是如果一个不可能,我想要另一个。每一个都有它自己的重要性。看起来这可能是相关的:--据我所知,PHP不提供您目前所追求的这种类型的功能。您可以省略类型声明,这并不理想,但这样做将允许您拥有不同的实例,其中一些使用
string
,一些使用
FooClass
,等等on@Pigeon. 我的想法和你一样。我不想要类型为
OtherClass
的变量(参数)!我想要一个类类型为
OtherClass
的参数;可以在Java中声明:
Class var
。我不想要类型为
OtherClass
的变量(参数)!我想要一个类类型为
OtherClass
的参数;可以在Java中声明,例如:
类var
<?php
    /**
     * A test function
     *
     * First parameter must be an object of type OtherClass
     */
    public function test(OtherClass $otherclass) {
        echo $otherclass->var;
    }
?>