2

我有一个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)obj使用ajax调用创建

if($_POST['myAjaxFlag']){
    $obj = new MyClass();
} 

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

4

3 回答 3

4

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

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

}

更正:

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

那么应该工作;)

于 2013-10-21T21:51:57.120 回答
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();    

?>

基地你好

孩子你好

于 2013-10-21T21:54:07.237 回答
0

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

还需要先定义 MyExtends,然后才能对其进行扩展……事先在同一个文件中,或通过“require”语句。

于 2013-10-21T21:52:51.930 回答