0

CIでこれらの単純なPHPクラス定義を模倣しようとしています

<?php
class Student
{
    private $name;

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

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

class SportsStudent extends Student {

    private $sport;

    public function __construct($name) {
        parent::__construct($name);
        $this->sport = "Tennis";
    }

    public function getSport() {
        return $this->sport;
    }
}

$s1 = new Student("Joe Bloggs");
echo $s1->getName() . "<br>";

$s2 = new SportsStudent("John Smith");
echo $s2->getName() . "<br>";
echo $s2->getSport() . "<br>";
?>

最善のアプローチ方法を知りたいのですが、両方のクラスのコントローラーを作成しようとしましたが、継承に問題があり、CI_Controller を拡張するのが最善であると言われましたが、理解できませんでした。過剰であり、推奨されませんでした。

これらの標準クラスを保持して、コントローラーから呼び出すのが最善ですか?

これはシステムでの私の最初の MVC ベースの試みであり、私の最初の CI プロジェクトです。

4

1 に答える 1

1

これらのクラスは、コントローラーではなくモデルとして表す必要があります。したがって、次のようにします。

class Student extends CI_Model {
    ...
}

class SportsStudent extends Student {
    ...
}

Student モデルをapplication/coreフォルダー (CI 2+ の場合) またはapplication/librariesフォルダー (CI 1.8 以下の場合 -CI_Modelを just に変更Model) に配置する必要があります。

于 2013-01-03T16:50:52.310 に答える