アクセスできないプロパティを変更しようとしたときの処理

aはクラス外から変更することはできません
<?php
	class TestClass{
		private $a = 1;
		public function __set($name, $value){
			echo "{$name}はクラス外から変更することはできません";
		}
	}

	$test_class = new TestClass();
	$test_class->a = 1;
__setメソッドはアクセス装飾子などでアクセスできないプロパティを変更しようとしたときに呼び出されるメソッドです。

__setメソッドの第1引数は変更しようとしたプロパティ名、第2引数は変更しようとした変更後の値となります。