我对MVC概念本身很陌生,但我慢慢开始掌握它,它是什么让它如此有用。
我在我的应用程序中有不同的标签,这些标签是层次结构中的级别(我称之为实体),每个标签由两个类表示 - 一个Binding类,包含与数据库通信的所有方法,以及辅助类,它只是实体的一个框架,都在同一个文件中。我想知道这是否是接近设计模式的正确方法?我还没有建立模型或控制器,因为我不确定他们目前会在哪里进来。另外,我现在对使用ORM不感兴趣。
class CompanyBinding extends EntityBinding {
function __construct() {
parent::__construct();
}
public function get($criteria = array()) {
// method to retrieve an array of DB rows, each represented by the helper class
[...]
return $sth->fetchAll(PDO::FETCH_CLASS, 'Company');
}
public function get_by_id($id) {
// method to retrieve an one single object of the helper class
$sth->setFetchMode(PDO::FETCH_CLASS, 'Company');
return $sth->fetch();
}
}
class Company extends Entity {
public $id;
public $name;
public $email;
public $phone;
// just properties. some classes have a __construct() function to manipulate some fields after retrieval
[...]
}
我现在需要一个模特课吗?我正在考虑Controller可以执行 - > get函数并加载适当的类,因为实体的名称是通过AJAX从前端传递的。
顺便说一下,我也很困惑。控制器应该吸收所有AJAX请求还是应该创建一个名为ajax.php的文件来处理它,并将Controller类放在public_html之上,以便用户无法访问类文件?
答案 0 :(得分:2)
将类分隔为自己的文件。 PHP在打开文件位置时在缓存文件位置方面做得不错,因此您不必担心IO。一般来说,将多个类放在一个文件中是不好的做法。它不会破坏你的应用程序,但它可能会让更多经验丰富的开发人员分崩离析。 :)
除此之外,你没事。