PHPのstaticを知ろう!

たとえば文字列から数字の部分だけを取り出して整数として返す関数を作ることにします。

class Util {
    function asNumber($s) {
        return intval( preg_replace('/\D/', '', $s) );
    }
}

こういうの関数を作って呼び出すときに

$name = 'ku0522';
$util = new Util();
$util->asNumber($name);

このようにUtilのインスタンスを作ってそのメソッドとしてasNumber()を呼び出していませんか。
PHPだと

<?php
(new Util())->asNumber($name);
?>

とするとエラーになっていちいちnewするのがめんどくさいですよね。
こういうthisを参照しないメソッドを呼ぶときは関数にstaticとつけてあげればnewする必要がなくなります。

class Util {
    static function asNumber($s) {
        return intval( preg_replace('/\D/', '', $s) );
    }
}

このようにfunctionの前にstaticつけるだけで

<?php
Util::asNumber($name);
?>

こう書くことができるようになります。