Why do I get "missing function" error? My function is right there!
I am getting "Fatal error: Call to undefined function getSContent()" with the included code but... as you can see: My function is right there!
Please, help. I am sure I need some sleep.
class InfoController extends AppController {
var $name = 'Info';
var $helpers = array('Html', 'Session');
var $u开发者_StackOverflowses = array();
function display() {
$path = func_get_args();
$section = $path[0];
$mainMenuActiveElement = $section;
$sectionContent = getSContent($section);
$this->set(compact('section', 'mainMenuActiveElement', 'sectionContent'));
$this->render('/pages/info');
}
function getSContent($section) {
$sectionContent = '';
switch ($section) {
case 'bases':
$sectionContent = 'some content';
break;
case 'informacion':
$sectionContent = 'some other content';
break;
}
return $sectionContent;
}
}
You have to specify the context. PHP unlike e.g. c++ doesn't assume this
implicitly.
$sectionContent = $this->getSContent($section);
Your function is, in particular, a method. Method names do not live in PHP's functions table, they are associated with a particular class.
You should call them with the notation $object->methodName()
, where $object
can be $this
when inside a method in order to call an instance method of the same instance as the current one.
The notation becomes ClassName::methodName()
when the method is declared static. In special circumstances, instance methods call also be called with this syntax.
精彩评论