その前に、「$this」はまだしも「$this->」で呼び出すのはやめましょう。
静的なのかインスタンスがあるのか、構造がわかりにくくなります。
selfは、古くららphpを使っていた人がよく使います。
staticは5.3から追加された遅延静的束縛機能です。
selfだと、クラスを継承した時にselfが継承クラスに置き換わらないので、非常に面倒です。
継承禁止のクラスでのみ使うべきです。
でないと、親クラスからコピペしまくり状態という、悲惨なコーディングになります。
statcは、簡単に言えば、呼び出されているクラスに置き換わります。
これがちょっと曲者でして、
selfで呼び出した先でstaticで呼び出すと、selfで呼び出されているクラスに置き換わります。
selfはコンパイル時に静的にクラス名が入り、staticは実行時に動的に入るイメージをすれば良いと思います。
まぁ、ややこしくなって不具合の元なので、staticで統一しましょうってことです。