8

我想知道我应该如何处理我的实体?例如,一个名为 Articles 的类,具有一些数据成员(名称/标题/日期)和 getter 和 setter。我可以将这些添加到我的文章数据成员中,但最好将它们分开。所以你怎么看?

谢谢!

4

3 回答 3

12

我通常这样做:

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 结构,并保持实体类分开。希望有帮助!

于 2010-09-13T16:20:38.883 回答
4

我喜欢@ilbesculpi 的解决方案,但我使用命名空间而不是使用常量和 对其进行了一些定制require_once。这是我的版本:

1) 在 /system/application/entities 中创建我的实体类。

namespace MyApplication\Entities;

class ArticlesEntity
{
    function doSomeStuff()
    {
        // Your code here...
    }
}

using2)通过语句将我的实体类包含在我的模型中。

use MyApplication\Entities\ArticlesEntity;

class ArticlesModel extends CI_Model
{
    function test() 
    {
      $entity = new ArticlesEntity();
      $ArticlesEntity->doSomeStuff();
    }
}
于 2016-01-07T17:12:27.447 回答
1

CodeIgniter 模型使用单例模式。您可以创建库或使用 $foo = new Some_Model 如果您愿意,请记住它只是 PHP :)

于 2010-09-10T15:07:39.027 回答