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 {
    ...
}

You should place the Student model in the application/core folder (for CI 2+) or the application/libraries folder (for CI 1.8 or lower - as well as changing the CI_Model to just Model).

于 2013-01-03T16:50:52.310 回答