类方法don';t存在(抛出致命错误)-但它存在


Class method don't exists (throwing fatal error) - But it exist

我不知道为什么,但PHP触发了一个致命错误,因为类方法不存在。但它显然存在!

left.phtml:

<?php
    $block = Block::getBlock('core/sidebar_modules');
    foreach($block->getSidebar('left') AS $key => $value)
    {
        $_block = explode('_',$value->getName());
        if(isset($_block[1]))
        {
            $_block[1] .= '_widget';
        }
        $loadBlock = Block::getBlock(implode('/',$_block)); // returns instance of Visio_Blog_Block_Recent_Widget
        Debug::var_dump($loadBlock);
        /*
            returns:
            object(Visio_Blog_Block_Recent_Widget)#33 (0) {
            }
        */
        echo $loadBlock->widgetContent();
        /*
            returns:
            Fatal error: Call to a member function widgetContent() on a non-object in E:'docroot'vhosts'zend.local.host'htdocs'app'design'default'templates'left.phtml on line 13
        */
        Debug::print_r(get_class_methods($loadBlock));
        /*
            returns:
            Array
            (
                    [0] => __construct
                    [1] => widgetContent
            )
        */
    }
?>

小工具.php(Visio_Log_Block_Recent_Widget)

Class Visio_Blog_Block_Recent_Widget
{
    public function __construct()
    {
        return $this;
    }
    public function widgetContent()
    {
        return 'content';
    }
}

我不知道为什么会发生这种事?

这可能是我的视图类在实现嵌套视图模板时出现的错误吗。

我从头开始构建框架。

从错误中可以看出,$loadBlock似乎不包含Visio_Blog_Block_Recent_Widget的实例或任何类。

所以问题在于分配。