Hi all, I'm a java guy by background and this worries me a little, unless I'm fundamentally misunderstanding the scope of statics in PHP?
Director.php: ‘Director::$urlParams = $arguments;’.
This is effectively a global variable. In java you’d die if you did this. Surely there’s only one instance of static (::) variables?
This is used by currentPage. Why is there a STATIC called currentPage?
This is then used in SiteTree::currentPage. I.e. a pretty significant function.
This is a concurrency issue. Stress testing should reveal request corruption as the first request is being filled with the second request's page info.
Anyone able to offer some insight? It's not hard to fix; you hang urlParams off $_REQUEST instead right? I'm (blindly) assuming $_REQUEST is thread-scoped.
This may well be showing my 'Java guy tries to do PHP' naivete.. any insight greatly appreciated.