扩展时找不到类

时间:2013-10-21 21:46:37

标签: php extends classnotfound

我有一个class MyClass工作正常。当我使用创建实例时 $obj = new MyClass()就像一个魅力。问题是,如果我扩展这个class MyClass extends MyExtends,它会给我一个错误: class MyClass not found

因为魔鬼在细节中,所以这里有一些:

1)MyClass实例在同一个文件中创建(名为MyClass.php)。

$obj = new MyClass();
class MyClass extends MyExtends{
}

2)使用ajax

调用obj的创建
if($_POST['myAjaxFlag']){
    $obj = new MyClass();
} 

3)ajax调用返回成功,但如果我打印返回的数据,我得到该类未找到错误的php消息。

3 个答案:

答案 0 :(得分:3)

这是因为您在初始化后声明了“MyClass”类

obj = new MyClass();
class MyClass extends MyExtends{

}

修正:

class MyClass extends MyExtends{
}
obj = new MyClass();

应该工作;)

答案 1 :(得分:1)

订单事宜:

<?php
    class Base
    {
        protected function sayHello()
        {
            echo("Base hello\n");
        }
    }

    class Child extends Base
    {
        public function sayHello()
        {
            parent::sayHello();

            echo("Child hello\n");
        }
    }

    $obj = new Child();
    $obj->sayHello();    

?>
  

Base hello

     

孩子你好

答案 2 :(得分:0)

您需要先定义该类,然后才能使用它。所以“新”应该在MyClass类定义之后出现。

还需要先定义MyExtends,然后才能扩展它...要么预先在同一个文件中,要么通过“require”语句。