関数の引数を複数の可能な型として定義できますか?例えば、関数は何かを達成するために文字列か整数をとることができます。何とかこのように定義することは可能ですか?PHPで複数の関数の引数型を定義する
function something(int|string $token) {}
引数が1つだけサポートされていますか?
(心あなたは、私は私が後で入力をフィルタリングすることができます知って、私はちょうど私の引数は入力したのが好き)
関数の引数を複数の可能な型として定義できますか?例えば、関数は何かを達成するために文字列か整数をとることができます。何とかこのように定義することは可能ですか?PHPで複数の関数の引数型を定義する
function something(int|string $token) {}
引数が1つだけサポートされていますか?
(心あなたは、私は私が後で入力をフィルタリングすることができます知って、私はちょうど私の引数は入力したのが好き)
あなたができる最善のタイプヒンティングと呼ばれ、ここで説明されています
http://php.net/manual/en/language.oop5.typehinting.php
特に、クラスタイプまたは配列タイプをヒントできますが(マニュアルに記載されているように)「従来型のヒントとintおよびstringはサポートされていません」だから私はあなたが達成しようとしていることはこのレベルでは不可能だと思います。
しかし、独自のラッパーなどを作成することはできますが、おそらくこれを処理する方法は数多くあります。
いいえ、できません。
また、PHP 5でのヒントタイプは、クラスと配列に対してのみ使用できるようになりました。 http://php.net/manual/en/language.oop5.typehinting.php
class Foo
{
}
function something(Foo $Object){}
...と配列。 – deceze
PHPは動的型付けされた - しかし、タイプヒンティングは言語に追加されました - ので、あなたはパラメータをほのめかしていませんでした場合は、あなたが好きなタイプを渡すことができます。
オフfunction something($token)
{
if (is_numeric($token)) {
// its a float, double, integer
} else {
// its a string, array, object
}
}
(私の頭の上に私はどのようにリソースが処理されるかわかりません)。
は、しかし、あなたが強く型付けされた言語でプログラムしたい場合は、(私見)あなたがPHP
乾杯以外のものを使用する必要があり、私は最終的にそれが今タイプヒンティングと呼ばれています知っています。 – Swader
PHPのヒントと呼ばれているのは、PHPインタプリタのヒントなので、人為的に引数の型をチェックし、ヒントと一致しない場合はエラーを投げるように指示されています。静的型付けされた言語では、それは基本的で必要なものであり、関数の構文の一部であり、そのように呼び出されることはありません...実際には、特定の名前を持っていないと思われます。 – Palantir
知って、感謝! – Swader