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

PHP_PHP チュートリアルの型制約の概要

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

PHPの型制約の紹介

この記事では主にPHPの型制約の導入について紹介します。型制約はPHPのクラスメソッドと関数で実​​装できますが、パラメータで指定できるのはクラス、配列、インターフェイスの4つの型のみです。呼び出し可能。型とパラメータはデフォルトで NULL に設定できます。PHP はスカラー型や他の型を制約できません。

型制約は PHP クラスのメソッドと関数で実​​装できますが、パラメーターで指定できるのはクラス、配列、インターフェイス、呼び出し可能の 4 つの型のみです。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 = new 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();

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

PECL 拡張ライブラリは、整数、浮動小数点数、ブール値、列挙型、および文字列型の制約を実装するための SPL タイプ拡張機能を提供します。

コードは次のとおりです:

$int = new SplInt (94);

試してください {

$int = '楽しみのために文字列値をキャストしてみます' ;

} catch (UnexpectedValueException $uve) {

echo $uve -> PHP_EOL ;

}

エコー $int ;

/*

実行結果:

整数ではない値

94

*/

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

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