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