我想知道我应该如何处理我的实体?例如,一个名为 Articles 的类,具有一些数据成员(名称/标题/日期)和 getter 和 setter。我可以将这些添加到我的文章数据成员中,但最好将它们分开。所以你怎么看?
谢谢!
我想知道我应该如何处理我的实体?例如,一个名为 Articles 的类,具有一些数据成员(名称/标题/日期)和 getter 和 setter。我可以将这些添加到我的文章数据成员中,但最好将它们分开。所以你怎么看?
谢谢!
我通常这样做:
1.- 在 /system/application/classes 中创建我的实体类
class MyEntity {
}
2.- 定义一个常量指向 /system/application/config/constants.php 上的那个文件夹
define('CLASSES_DIR', APPPATH . "classes/");
3.- 包括模型中的实体类:
require_once(CLASSES_DIR . "MyEntity.php");
class MyModel extends Model {
function test() {
$entity = new MyEntity();
$entity->doSomeStuff();
}
}
这不会破坏您的 mvc 结构,并保持实体类分开。希望有帮助!
我喜欢@ilbesculpi 的解决方案,但我使用命名空间而不是使用常量和 对其进行了一些定制require_once
。这是我的版本:
1) 在 /system/application/entities 中创建我的实体类。
namespace MyApplication\Entities;
class ArticlesEntity
{
function doSomeStuff()
{
// Your code here...
}
}
using
2)通过语句将我的实体类包含在我的模型中。
use MyApplication\Entities\ArticlesEntity;
class ArticlesModel extends CI_Model
{
function test()
{
$entity = new ArticlesEntity();
$ArticlesEntity->doSomeStuff();
}
}
CodeIgniter 模型使用单例模式。您可以创建库或使用 $foo = new Some_Model 如果您愿意,请记住它只是 PHP :)