PHP7.1以降の関数処理に予約語:voidを利用する

PHPプログラミング PHP/MySQL
php7.1以降の関数処理に:voidを利用する際のわかりやすい説明

返り値が無いとき「:void」を記載する

void(ボイド)は、「何もない」といった意味の型などに使われる予約語。返り値が無いときに宣言する。記載しなくてもいいが値がないことを静的解析ツールを利用するときに便利になる。 jsの(void)は値を空(NULL)にする演算子になるが、PHPは何もしない。ただ返り値がNULLだとわかりやすいように表記しているだけ。

文字列を返すときは「:string」

型の前にクエスチョンマークをつけると、変数の中に値があっても「nullable」(NULL扱い)にすることがが出来る。

PHP


$a = "りんご";
$view (: ?string $a);
//$viewは NULL
nullを「: ?string」を利用してnullを返すと返値が「null」という文字列で返される。

PHP


function testReturn(): ?string
{
    return null;
}
//「: ?string」を利用してnullを返すと
//返り値で「null」という文字列で返される。

PHPDoc形式の型注釈(PHP 7.1以前);@return void

>PHP 7.1形式の型宣言: void

PHP7.1未満でコードを動かすことはないなら「:void」で統一すると見やすい。

PHP


function hoge():void
{
    echo "hoge";
}

マジックメソッド

PHP のデフォルトの動作を上書きする特別なメソッド

PHP


__construct()
__destruct()
__clone() 

以下は publicとして宣言しないと E_WARNING レベルの警告が発生

PHP


__call() 
__callStatic() 
__get() 
__set() 
__isset() 
__unset() 
__serialize()
__unserialize() 
__toString() 
__invoke() 
__set_state()  
__debugInfo()


//以下は PHP 8.0.0 より前のバージョンではエラーにならない
__sleep()
__wakeup() 


タイトルとURLをコピーしました