我分别创建了两个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方法时,它会给出致命错误:未找到类'学生'这里有什么问题。有必要进口或什么?请帮帮我。
答案 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)。
当脚本初始化时,它应该做的第一件事就是包含负责加载所有必要类的文件。