ホームページ  >  記事  >  バックエンド開発  >  [phpのクラスとオブジェクト] 型の制約

[phpのクラスとオブジェクト] 型の制約

不言
不言オリジナル
2018-04-17 10:09:101306ブラウズ

この記事の内容は [php クラスとオブジェクト] の型制約に関するものです。これには特定の参照値があります。必要な友達はそれを参照してください。

型制約

PHP 5 では型制約を使用できます。関数のパラメータは次のように指定できます:

    オブジェクト (関数プロトタイプで指定された名前)
  • インターフェイス
  • 配列 (PHP 5.1)
  • CalLABLE (PHP 5.4)
  • パラメーターのデフォルト値として NULL を使用した場合でも、関数を呼び出すときに実際のパラメーターとして NULL を使用できます。

クラスまたはインターフェースが型制約を指定する場合、そのすべてのサブクラスまたは実装も同様です。

型制約は、int や string などのスカラー型には使用できません。特性も許可されません。

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;;
}
?>

関連する推奨事項:

[php クラスとオブジェクト] オブジェクトのコピー

[php クラスとオブジェクト] マジック メソッド

[php クラスとオブジェクト] トラバーサル

以上が[phpのクラスとオブジェクト] 型の制約の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。