PHP8系で関数の引数が設定しやすくなる名前付き引数について
PHP8系で名前付き引数が導入されたということを最近知った。今までは「第〇引数」のように位置で指定する必要があり「第1は飛ばして第2引数を指定したいのに……」というケースが多々あって面倒だったため連想配列を一つ渡して関数内で色々チェックしていたが、名前付き引数はその辺を解決できるっぽい。以下に利用方法をメモ。
利用方法
ソースコード
<?php //型宣言無し function testFunc($name, $age, $flg){ echo $name . 'さんの年齢は' . $age . '歳です。フラグは' . $flg . 'です。'; } //普通に使う場合 testFunc(name: '山田', age: 20, flg: true); //山田さんの年齢は20歳です。フラグは1です。 //引数の順番を変えても大丈夫 testFunc(age: 30, flg: false, name: '鈴木'); //鈴木さんの年齢は30歳です。フラグはです。 //型宣言あり function testFunc2(string $name = '', int $age = 0, bool $flg = false){ echo $name . 'さんの年齢は' . $age . '歳です。フラグは' . $flg . 'です。'; } //普通に使う場合 testFunc2(name: '山田', age: 20, flg: true); //山田さんの年齢は20歳です。フラグは1です。 //型が合っていないのでエラー testFunc2(name: 1, age: '山田', flg: 3);
リファレンス
名前付き引数
https://www.php.net/manual/ja/functions.arguments.php#functions.named-arguments
所感
まだPHP7系の環境も多いので完全に移行するのは難しいかも。ただ使い方は覚えておきたいところ。
関連記事
-
-
PHPで画像を比較して類似度を算出する「image-comparator」ライブラリの利用方法
PHPで画像の類似度を計測したい。ただ、そのためのロジックが全く分からないためラ ...
-
-
PHPで簡単にCSVファイルの生成
簡単にデータ並べるだけのCSVファイル生成。 file_put_contensで ...
-
-
ブラウザから動画ファイル名を確認できないようにPHPで動画を出力する方法
Webページ上で動画ファイルを再生したい場合、通常だとブラウザのソースコード上に ...
-
-
MySQLで使用するインデックスを指定する
ちゃんと指定してるのにインデックスが使用されていない場合、 オプティマイザに知ら ...
-
-
Composer自体のインストールとmonolog及びTwigをComposer経由でインストールする方法
「Composerで○○をインストール」というのをよく見かけるがComposer ...