Use of undefined constant - assumed ' ' - a blank constant?
netbeans, php, zend-framework
Solution
You have a non-breaking space in these lines. You can ask NetBeans to display it for you.
Problem
The undefined contant error is normally quite helpfull and easy to solve, but I am getting some really weird behavior on both my development and production server (different setups). My error logs shows tons of errors like this: ``` NOTICE (5): [8] Use of undefined constant - assumed ' ' (#PATH#/dashboard/tasks.tpl) [61] NOTICE (5): [8] Use of undefined constant - assumed ' ' (#PATH#/index/view.tpl) [158] NOTICE (5): [8] Use of undefined constant - assumed ' ' (#PATH#/blogs/index.tpl) [51] ``` For me the system trying to define "blank" as a constant? Often I can solve the error by following the linenumber where their always will be a PHP close tag like this `<?php } ?>` and by first removing the two spaces `<?php}?>` and adding them again I can sometime solve the problem. But new errors keeps popping up. I use netbeans as IDE. Here is the full stack trace ``` #0 #PATH#/docs/application/libraries/Zend/View.php(108): include('#PATH#/d...') #1 #PATH#/docs/application/libraries/Zend/View/Abstract.php(835): Zend_View->_run('#PATH#/d...') #2 #PATH#/docs/application/libraries/Engine/Content/Widget/Abstract.php(292): Zend_View_Abstract->render('application/modules/Blog/widgets...') #3 #PATH#/docs/application/libraries/Engine/Content/Widget/Abstract.php(258): Engine_Content_Widget_Abstract->renderScript() #4 #PATH#/docs/application/libraries/Engine/Content/Element/Widget.php(66): Engine_Content_Widget_Abstract->render() #5 #PATH#/docs/application/libraries/Engine/Content/Element/Abstract.php(583): Engine_Content_Element_Widget->_render() #6 #PATH#/docs/application/libraries/Engine/Content/Decorator/Children.php(31): Engine_Content_Element_Abstract->render() #7 #PATH#/docs/application/libraries/Engine/Content/Element/Abstract.php(594): Engine_Content_Decorator_Children->render('') #8 #PATH#/docs/application/libraries/Engine/View/Helper/Content.php(78): Engine_Content_Element_Abstract->render() #9 #PATH#/docs/application/modules/Core/views/scripts/index/index.tpl(10): Engine_View_Helper_Content->renderWidget('blog.list-recent-blogs') #10 #PATH#/docs/application/libraries/Zend/View.php(108): include('#PATH#/d...') #11 #PATH#/docs/application/libraries/Zend/View/Abstract.php(835): Zend_View->_run('#PATH#/d...') #12 #PATH#/docs/application/libraries/Zend/Controller/Action/Helper/ViewRenderer.php(903): Zend_View_Abstract->render('index/index.tpl') #13 #PATH#/docs/application/libraries/Zend/Controller/Action/Helper/ViewRenderer.php(924): Zend_Controller_Action_Helper_ViewRenderer->renderScript('index/index.tpl', ) #14 #PATH#/docs/application/libraries/Zend/Controller/Action/Helper/ViewRenderer.php(963): Zend_Controller_Action_Helper_ViewRenderer->render() #15 #PATH#/docs/application/libraries/Zend/Controller/Action/HelperBroker.php(277): Zend_Controller_Action_Helper_ViewRenderer->postDispatch() #16 #PATH#/docs/application/libraries/Zend/Controller/Action.php(523): Zend_Controller_Action_HelperBroker->notifyPostDispatch() #17 #PATH#/docs/application/libraries/Zend/Controller/Dispatcher/Standard.php(289): Zend_Controller_Action->dispatch('indexAction') #18 #PATH#/docs/application/libraries/Zend/Controller/Front.php(946): Zend_Controller_Dispatcher_Standard->dispatch(Zend_Controller_Request_Http, Zend_Controller_Response_Http) #19 #PATH#/docs/application/modules/Core/Bootstrap.php(75): Zend_Controller_Front->dispatch() #20 #PATH#/docs/application/libraries/Engine/Application.php(160): Core_Bootstrap->run() #21 #PATH#/docs/application/index.php(194): Engine_Application->run() #22 #PATH#/docs/index.php(24): include('#PATH#/d...') #23 {main} ``` Any suggestions on this behavior would be very much appreciated Solution Thank you for the feedback. By enabling non-printable characters in netbeans (view->non-printable Characters in the menubar) I was able to see the difference. I copied a "bad" space and a curly bracket and made a search/replace in the total project to solve the problem quickly.