1

我分别创建了两个 php 类。那些是 Student.php 和 Main.php 这是我的代码。

这是我的 Student.php

<?php

class Student {

private $name;
private $age;

function __construct( $name, $age) {
    $this->name = $name;
    $this->age = $age;
}

function setName($name){
    $this->name = $name;
}

function setAge($age){
    $this->age = $age;
}

function getName() {
    return $this->name;
}

function getAge() {
    $this->age;
}

function display1() {
    return "My name is ".$this->name." and age is ".$this->age;
}

}

?>

这是我的 Main.php

<?php

class Main{

function show() {
    $obj =new Student("mssb", "24");
    echo "Print :".$obj->display1();
}

}

$ob = new Main();
$ob->show();

?>

所以我的问题是,当我调用 taht show 方法时,它给出了致命错误:“学生”类未发现这里有什么问题。有必要进口吗?请帮我。

4

4 回答 4

2

PHPUnit文档说以前说 include/require PHPUnit/Framework.php,如下:

require_once ('Student.php');

从 PHPUnit 3.5 开始,有一个内置的自动加载器类可以为您处理这个问题:

require_once 'PHPUnit/Autoload.php'
于 2012-08-26T05:27:02.660 回答
2

添加

require_once('Student.php') 

在您的 Main.php 文件中(在顶部)或在包含任何其他文件之前...

于 2012-08-26T05:27:12.650 回答
2

你可以使用 require_once('Student.php') 或者你可以使用 PHP5 的新特性命名空间。例如,假设您的 Student.php 在名为 student 的目录中。然后作为 Student.php 的第一行,你可以把

<?php    
namespace student;

class Student {
}

然后在你的 Main.php

<?php    
use student\Student;

class Main {
}
于 2012-09-25T08:28:23.930 回答
0

值得一看 PSR。特别是PSR-1

其中一项建议是

文件应该声明符号(类、函数、常量等)或引起副作用(例如生成输出、更改 .ini 设置等),但不应该两者都做

遵循本指南有望使您遇到的问题变得不那么常见。

例如,通常只有一个文件负责加载所有必要的类文件(最常见的是通过自动加载)。

当脚本初始化时,它应该做的第一件事就是包含负责加载所有必要类的文件。

于 2012-08-26T06:31:22.353 回答