継承先で再定義できないメソッドの定義

1
<?php
	class Test{
		public $test_value = 1;

		final public function test_method(){
			return $this->test_value;
		}
	}

	$test_class = new Test();
	echo $test_class->test_method();
メソッド定義時に
final アクセス装飾子 function メソッド名()

とすると、子クラスで同名のメソッドの再定義ができなくなります。

finalを付けていないメソッドを再定義するとメソッドな内容が書き換わってしまうので、書き換わると不都合のあるメソッドの前にはfinalを付けるようにしてください。