我正试图在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项目,有一些指针会很好。
答案 0 :(得分:1)
这些类应表示为模型,而不是控制器。所以你会做这样的事情:
class Student extends CI_Model {
...
}
class SportsStudent extends Student {
...
}
您应将学生模型放在application/core
文件夹(用于CI 2+)或application/libraries
文件夹(用于CI 1.8或更低版本) - 以及将CI_Model
更改为仅Model
)。