如何使用PHP在另一个类中调用方法

时间:2012-08-26 05:22:48

标签: php

我分别创建了两个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 个答案:

答案 0 :(得分:2)

PHPUnit documentation曾经说过要包含/要求PHPUnit / Framework.php,如下所示:

require_once ('Student.php');

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

require_once 'PHPUnit/Autoload.php'

答案 1 :(得分:2)

添加

require_once('Student.php') 

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

答案 2 :(得分:2)

您可以使用require_once('Student.php'),也可以使用PHP5新功能名称空间。举个例子,假设您的Student.php位于一个名为student的目录中。然后作为Student.php的第一行,你可以把

<?php    
namespace student;

class Student {
}

然后在你的Main.php中

<?php    
use student\Student;

class Main {
}

答案 3 :(得分:0)

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

其中一项建议是

  

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

遵循此指南有望产生类似于您不太常见的问题。

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

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