- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我最近深入研究了在我的 CodeIgniter 应用程序中使用 ORM,我喜欢的一个是 Propel。现在这给了我基本上使用 Propels 类作为“模型”的能力,但这是不好的做法吗?
所以我的 Controller 代码如下:
<?php
class Page extends Controller {
function __construct() {
parent::__construct();
}
function index() {
$foo = FooQuery::create()->limit(10)->find();
$data['content'] = array('foo'=>$foo);
$this->load->view('home', $foo);
}
}
?>
我想在继续开发我的应用程序之前解决这个问题。如果您确实认为这是不好的做法,请举例说明我应该如何执行此操作。
提前致谢
最佳答案
是的,这是不好的做法。
模型应该包含所有数据逻辑并将其从程序的其余部分中抽象出来。对于应用程序的其余部分,模型应该看起来像从中获取数据的黑盒子。如果您使用 ORM 作为模型,那么您就是 leaking the abstraction并将您的 Controller 与数据层紧密耦合。
相反,创建您的模型,并在其中处理 ORM。这样,如果您需要调整数据模型,只需在一个地方(模型层)进行更改,并且知道抽象将保持不变。
关于php - 直接从 MVC 中的 Controller 使用 ORM 类,不好的做法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4869336/
如果您想分享更多信息,可以在这里找到整个资源 指针: https://github.com/sergiotapia/DreamInCode.Net 基本上,我的API将为其他开发人员提供
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 5 年前。 Improve this qu
我不是 SCM 工具的经验丰富的用户,尽管我确信它们的用处,当然。 我在以前的工作中使用了一些不起眼的商业工具,在当前的工作中使用了 Perforce,并在我的小型个人项目中使用了 TortoiseS
所以我想知道一些我应该避免在 javascript 中做的事情以获得良好的 SEO 排名。在我的下一个站点中,我将广泛使用 jquery 和 javascript,但不想牺牲 SEO。那么您认为我应该
基本上,我想知道什么是避免 future CSS 代码出现问题和混淆的最佳方法... 像这样命名 CSS 属性: div#content ul#navigation div.float-left (真
我是一名优秀的程序员,十分优秀!