静的メソッドは、メソッドを定義するときに、static
キーワードを前に付けて定義する。
静的メソッドは、クラス名::メソッド名()
で呼び出すことができる。静的メソッドの内部から、疑似変数$this
で呼び出すことはできない。
同じクラスの静的メソッドを呼び出すには、self
キーワードを使うこともできる。
子クラスから、親クラスの静的メソッドを呼び出すには、parent
キーワードを使うこともできる。
書式
class クラス名 // クラスを定義
{
static function メソッドA() { // 静的メソッドを定義
// メソッド内処理文
}
static function メソッドB() { // 静的メソッドを定義
クラス名::メソッドA(); // 「クラス名」の「メソッドA」の静的メソッドを呼び出す
}
}
クラス名::メソッドA(); // 「クラス名」の「メソッドA」の静的メソッドを呼び出す
{
static function メソッドA() { // 静的メソッドを定義
// メソッド内処理文
}
static function メソッドB() { // 静的メソッドを定義
クラス名::メソッドA(); // 「クラス名」の「メソッドA」の静的メソッドを呼び出す
}
}
クラス名::メソッドA(); // 「クラス名」の「メソッドA」の静的メソッドを呼び出す
ポイント
静的メソッドの呼び出しは、クラス名、スコープ定義演算子::
のあとに、メソッド名、丸括弧()
を続ける。
丸括弧()
内に、引数を設定することもできる。
クラス名::メソッド名();
サンプル
<?php
class taxClass5
{
public static $varTax = 0.05;
public static function func_tax( $var ) {
return $var * ( 1 + taxClass5::$varTax );
}
}
echo '税率' . taxClass5::$varTax * 100 . '%の場合: ';
echo taxClass5::func_tax( 100 ) . '円<br />';
?>
class taxClass5
{
public static $varTax = 0.05;
public static function func_tax( $var ) {
return $var * ( 1 + taxClass5::$varTax );
}
}
echo '税率' . taxClass5::$varTax * 100 . '%の場合: ';
echo taxClass5::func_tax( 100 ) . '円<br />';
?>
↓↓↓出力結果↓↓↓
税率5%の場合: 105円