Heim  >  Artikel  >  Backend-Entwicklung  >  [PHP-Klassen und -Objekte] Typbeschränkungen

[PHP-Klassen und -Objekte] Typbeschränkungen

不言
不言Original
2018-04-17 10:09:101357Durchsuche

Der Inhalt dieses Artikels befasst sich mit Typbeschränkungen. Er hat einen gewissen Referenzwert. Jetzt kann ich ihn mit allen teilen, die ihn benötigen.

Typbeschränkungen

PHP 5 kann Typbeschränkungen verwenden.

Die Parameter der Funktion können wie folgt angegeben werden:

  • Objekt (geben Sie den Namen der Klasse im Funktionsprototyp an)

  • Schnittstelle

  • Array (PHP 5.1)

  • aufrufbar (PHP 5.4)

Wenn NULL als Standardwert des Parameters verwendet wird, kann beim Aufruf der Funktion weiterhin NULL als tatsächlicher Parameter verwendet werden.

Wenn eine Klasse oder Schnittstelle eine Typbeschränkung angibt, gilt dies auch für alle ihre Unterklassen oder Implementierungen.

Typeinschränkungen können nicht für Skalartypen wie int oder string verwendet werden. Auch Eigenschaften sind nicht erlaubt.

Example #1 类型约束示例

<?php//如下面的类class MyClass
{    /**
     * 测试函数
     * 第一个参数必须为 OtherClass 类的一个对象
     */
    public function test(OtherClass $otherclass) {
        echo $otherclass->var;
    }    /**
     * 另一个测试函数
     * 第一个参数必须为数组 
     */
    public function test_array(array $input_array) {
        print_r($input_array);
    }
}    /**
     * 第一个参数必须为递归类型
     */
    public function test_interface(Traversable $iterator) {
        echo get_class($iterator);
    }    /**
     * 第一个参数必须为回调类型
     */
    public function test_callable(callable $callback, $data) {
        call_user_func($callback, $data);
    }
}// OtherClass 类定义class OtherClass {    public $var = &#39;Hello World&#39;;
}
?>
Verwandte Empfehlungen:

[php-Klassen und -Objekte] Objektkopie

[php-Klassen und -Objekte] magische Methoden

[php-Klassen und -Objekte] Traverse

Das obige ist der detaillierte Inhalt von[PHP-Klassen und -Objekte] Typbeschränkungen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn