我知道這根本不會被注意到,只是爲了學習,是否有調用類方法而不是調用類屬性的開銷,如我在下面的示例中顯示的$ router-> controller和$ router- >行動?請不要過分關注過早優化,只是想了解更多。在PHP中調用Class屬性與Class方法之間的性能?
// Using Class property
$router = new Router($uri, $uri_route_map);
$router->dispatch($router->controller, $router->action);
// Using Class methods instead
$router = new Router($uri, $uri_route_map);
$router->dispatch($router->controller(), $router->action());
注意,如果路由器::控制器不public,在類之外訪問屬性將導致對__get('controller')的調用(如果存在)。如果在後臺執行字符串操作來確定實際屬性(在Zend Framework中很常見將其轉換爲「_controller」),則它更慢。發生什麼將取決於您正在訪問的課程。 Router :: controller甚至可以是實現`__invoke()`的對象。 – 2011-02-16 03:06:34