ホームページ > バックエンド開発 > PHPチュートリアル > PHP の型制約の概要、PHP 型制約の概要_PHP チュートリアル

PHP の型制約の概要、PHP 型制約の概要_PHP チュートリアル

WBOY
リリース: 2016-07-13 09:54:30
オリジナル
951 人が閲覧しました

PHP の型制約の概要、PHP の型制約の概要

型制約は PHP クラスのメソッドと関数で実​​装できますが、パラメーターで指定できるのはクラス、配列、インターフェイス、呼び出し可能の 4 つの型のみです。 NULL。PHP はスカラー型または他の型を制約できません。

以下の例:
コードをコピーします コードは次のとおりです:

クラステスト
{
パブリック関数 test_array(array $arr)
{
print_r($arr);
}

パブリック関数 test_class(Test1 $test1 = null)
{
print_r($test1);
}

パブリック関数 test_callable(callable $callback, $data)
{
call_user_func($callback, $data);
}

パブリック関数 test_interface(Traversable $iterator)
{
print_r(get_class($iterator));
}

パブリック関数 test_class_with_null(Test1 $test1 = NULL)
{

}
}

クラス Test1{}

$test = 新しいテスト();

//関数呼び出しのパラメータが定義されたパラメータの型と一致しない場合、キャッチ可能な致命的なエラーがスローされます。

$test->test_array(array(1));
$test->test_class(new Test1());
$test->test_callable('print_r', 1);
$test->test_interface(new ArrayObject(array()));
$test->test_class_with_null();

では、スカラー型を制限するにはどうすればよいでしょうか?

SPL Types 拡張機能は、整数、浮動小数点数、ブール値、列挙型、文字列型の制約を実装するために PECL 拡張ライブラリで提供されています。

コードをコピーします コードは次のとおりです:
$int = 新しい SplInt (94);

試してみてください{
$int = '楽しみのために文字列値をキャストしてみてください' ;
} catch (UnexpectedValueException $uve) {
echo $uve -> PHP_EOL ;
}

エコー $int ;
/*
実行結果:
整数ではない値
94
*/

SPL タイプは柔軟性とパフォーマンスをある程度低下させるため、実際のプロジェクトではよく考えてください。

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/997904.html技術記事 PHP の型制約の概要. PHP の型制約の概要. 型制約は PHP クラスのメソッドと関数で実​​装できますが、パラメーターはクラス、配列、インターフェイス、呼び出し可能の 4 つの型のみを指定できます。
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート