1

2 つの 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 メソッドを呼び出すとFatal error: Class 'Student' not found what is the wrong in here. が発生することです。インポートする必要がありますか?私を助けてください。

4

4 に答える 4

2

PHPUnitのドキュメントには、次のように 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-file (上) または他のファイルを含める前に...

于 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 設定の変更など) を引き起こす必要がありますが、両方を行うべきではありません。

このガイドラインに従うことで、あまり一般的ではないような問題が発生することが期待されます。

たとえば、必要なすべてのクラス ファイルのロードのみを担当する 1 つのファイルを用意するのが一般的です (最も一般的なのはautoloadingによる)。

スクリプトを初期化するとき、最初に行うべきことの 1 つは、必要なすべてのクラスをロードする役割を担うファイルをインクルードすることです。

于 2012-08-26T06:31:22.353 に答える