Just curious, how does CakePHP understand that public function initialize() {} is not to be executed on a controller? Just tried to visit /example/initialize and got Missing Method in ExampleController. Is there a list of reserved method names somewhere in the core?
The default implementation disallows access to all methods defined on Cake\Controller\Controller and allows all public methods on all subclasses of this class.