0

codeigniter を使用して独自のクラスを使用するには、いくつか問題があります。エラーでない場合は、クラスをロードできないと常に表示されます。たとえば、属性と getter メソッドと setter メソッドのみを持つクラス「Student」を作成したため、モデルでそのクラスを使用して「Students」の配列を返す必要があります (「load->library」ではできないこと) )またはそれを保存するための「学生」を受け取るには、コントローラーが「学生」で何かを行うためにそのクラスも必要です

私は Windows で作業していますが、アプリが大きくないため、ORM を使用したくありません。

私は自分のモデルで次のようなこともしたいと思っています:

while(something){
    $arr[] = new Student();
}
return $arr;

私に何ができる?あなたの答えに感謝します。

(PD: 申し訳ありませんが、私は英語を話せません)

がしなければならなかった唯一のことは、ファイルStudent.php(クラスStudentがある場所)を作成し、その後ライブラリに配置することでした:

$this->upload->library("Student.php");

その後、クラスを「インスタンス化」できます。

4

1 に答える 1

0

どのオペレーティング システムで開発していますか?

Unix ベースのオペレーティング システムでは、ファイル システムで大文字と小文字が区別されるため、たとえば次のようにライブラリを呼び出す場合は次のようにします。

$this->load->library('student');ディスク上のファイルの名前はStudent.php. ただし、Windows では、ファイル システムで大文字と小文字が区別されないため、これは実際には問題になりません。

詳細については、次を参照してください。

Linux では大文字と小文字が区別され、Windows では区別されないファイル名

アップデート

あなたのコメントから、クラスをライブラリのように使用したい場合は、「ライブラリ」ディレクトリにファイルを含め、ドキュメントで概説されているライブラリをロードする必要があります。

$this->load->library('students');

次に、メソッドをそのまま使用できるようになります

$this->students->method_name();

上記のautoloadに従って、ライブラリを手動でロードしてください。

于 2013-02-12T17:53:27.103 に答える