これはまったく目立たないことは知っていますが、学習のためだけに、$ router-> controllerと$ router-> controllerの例で示すように、クラスメソッドを呼び出してクラスメソッドを呼び出すオーバーヘッドがあります。 >アクション?早すぎる最適化について、私はもっと勉強しようとしています。Classプロパティを呼び出すか、PHPの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()'を実装するオブジェクトでもあります。 –