CakePHP "Fatal error: Class 'Debugger' not found" in a File That Doesn't Reference Debugger

cakephp-2.0, php, public

Solution

I found the error.

This class that I've shown has the initialize method implemented. But it's implemented as

public function initialize($controller)

This is an E_STRICT error since it differs from the parent method by leaving out the type hint. My setup is catching E_STRICT errors. This error is causing it to look for Debugger. I'm not sure why it's not able to autoload it, but changing the method to

public function initialize(Controller $controller)

fixed the issue I was having.

Problem

I'm getting the error referenced in the title from a file that doesn't reference the Debugger class. If I manually import Debugger, the error still shows up. The line number referenced in the error in the last } ending the class definition in the file. Nothing follows the } (there's not ?> either). The file that I'm getting the error in doesn't directly reference Debugger so far as I can tell (as in, there is no explicit use of Debugger). here's the stack trace: ``` ( ! ) Fatal error: Class 'Debugger' not found in /home/gregg/workspace/Fueled/dapprly/backend/app/Plugin/Facebook/Controller/Component/FapiComponent.php on line 107 Call Stack # Time Memory Function Location 1 0.0003 245664 {main}( ) ../index.php:0 2 0.0168 1657712 Dispatcher->dispatch( ) ../index.php:100 3 0.0237 2753568 Dispatcher->_invoke( ) ../Dispatcher.php:85 4 0.0237 2753768 Controller->constructClasses( ) ../Dispatcher.php:99 5 0.0237 2755712 ComponentCollection->init( ) ../Controller.php:638 6 0.0255 3057112 ComponentCollection->load( ) ../ComponentCollection.php:52 7 0.0255 3057600 class_exists ( ) ../ComponentCollection.php:99 8 0.0255 3057896 App::load( ) ../ComponentCollection.php:0 9 0.0257 3091416 ErrorHandler::handleError( ) ../ComponentCollection.php:551 ``` and here's the context around line 107: ``` class FapiComponent extends Component { // -- snip -- // public function method() { $url = urlencode('http://url'); $param = array( 'access_token' => '##' , 'object' => 'user', 'fields' => 'feed', 'callback_url' => $url); $id = $this->facebook->getAppId(); $subs = $this->facebook->api('/' . $id . '/subscriptions' , 'POST' , $param); } } // <-- line 107 ... nothing after this ```

Original source