codeigniter: куда идут сущности?
Мне было интересно, что мне делать с моими сущностями? Например, класс с именем Articles, с несколькими datamembers (name/title/date) и getters & setters. Я мог бы добавить их в мои статьи datamember, но лучше отделить их. Так что ты думаешь?
спасибо!
3 ответов
Я обычно делаю так:
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...
}
}
2) Включите мой класс сущности в мою модель через using
заявление.
use MyApplication\Entities\ArticlesEntity;
class ArticlesModel extends CI_Model
{
function test()
{
$entity = new ArticlesEntity();
$ArticlesEntity->doSomeStuff();
}
}
модели CodeIgniter используют одноэлементный шаблон. Вы можете создавать библиотеки или использовать $foo = new Some_Model если хотите, помните, что все это просто PHP:)