• 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
HMVC Routes: Protected methods result in warning instead of 404

I've been using HMVC modular extensions. I have a base class in which I've defined some protected methods available to all inheriting controller, however I don't want them to be accessible using URL. When trying to access with URL, I get a warning instead of 404 error. It would be great if these could return 404 as I believe only public methods are intended to be available as routes.

Severity: Warning

Message: call_user_func_array() expects parameter 1 to be a valid callback, cannot access protected method Controller::method()

Filename: core/CodeIgniter.php

Line Number: 532

Maybe you could use the _remap method in your controllers. Have a check in that method that checks if the called method is public.


You could then use something like this

PHP Code:
public function _remap($method$params = array())
   ifmethod_exists($this$method) )
       $reflection = new ReflectionMethod(get_class($this), $method);
       if$reflection->isPublic() )
           return call_user_func_array(array($this$method), $params);



Digg   Delicious   Reddit   Facebook   Twitter   StumbleUpon  

Users browsing this thread:
1 Guest(s)

  Theme © 2014 iAndrew  
Powered By MyBB, © 2002-2018 MyBB Group.