从继承类调用顶级函数会取消函数所需的另一个类

I have a main class that includes component classes, an app class, and a section class.

Everything was fine until I tried to eliminate recursion I found in a print_r of the final $this

Now every class extends from another. Only the components and app class extend from the main class. The section extends from the app class. Which at this point seems fine except for one problem:

When I call a top level function from within an inherited class, the function unsets an important class from the top level parent.

class Framework
{
    protected $Data;

    function __construct()
    {
        // include all files...

        $this->Data = new MySQLClass;
    }

    function getItem( $item )
    {
        $this->Data->table = 'items';
        $this->Data->data = array( 'id' => $item );

        $this->Data->Query();
    }
}

Inside the component class (inherits from main) a call is made to $this->getItem()

It now returns

Fatal error: Call to undefined method stdClass::Query()

I did a print_r of $this->Data at the beginning and end of getItem() and sure enough the lines that define the class action (Data->table, Data->data) are redefining $this->Data

First print_r (normal at this point)

MySQLClass Object ( ... )

Second print_r (changed to values set in function)

stdClass Object
(
    [table] => items
    [data] => Array
        (
            [id] => 1
        )
)

This function works as intended when called from the main class, and has always worked as intended before the classes were extended. I'm thinking of just holding down CTRL + Z and forgetting I ever noticed. Don't fix what ain't broke right? Still I would like to know exactly why this is happening and how to properly call top level functions from child classes.

Thanks,