アクセスできない静的メソッドを呼び出そうとしたときの処理

test_methodにはクラス外からアクセスすることはできません。
<?php
	class TestClass{
		private static function test_method(){
			echo 'test_methodが呼び出されました。';
		}
		public static function __callstatic($name, $arg){
			echo "{$name}にはクラス外からアクセスすることはできません。";
		}
	}

	$test_class = new TestClass();
	$test_class::test_method();
__callstaticメソッドは、アクセス装飾子などで呼び出せない静的メソッドを呼び出そうとしたときに呼び出されるメソッドです。
第1引数には呼び出そうとしたメソッド名、第2引数には引数にしようとした値が代入されます。

__callstaticメソッド自身もstaticをつけて静的メソッドにする必要がある点に注意してください。