<?php function __autoload($className) { try { include $className . ".php"; echo "<<<{$className}"; } catch (Exception $e) { echo "abc"; throw new Exception("need {$className}"); } } $a = new AA(); $a->test(); try { $a = new AA(); } catch (Exception $e) { echo $e->getMessage(); echo "\n************************\n"; } echo "\n&&&&&&&&&&&&&&&&&&&&&&&&&&&&\n"; class TestPrivate { private function say() { echo "private function say"; } public function run(TestPrivate $a) { $a->say(); }
<?php class AA { public $a; private $b; protected $c; public function test() { $this->c = 10; return $this->c; } } $aa = new AA(); //$aa->c =10; //Fatal error: Cannot access protected property AA::$c //$aa->b = 12; //Fatal error: Cannot access private property AA::$b //echo $aa->c; //Fatal error: Cannot access protected property AA::$c echo $aa->test();