Как в основном программист-самоучка, я опаздываю на игру, когда речь заходит о шаблонах дизайна и тому подобных. Я пишу веб-приложение управления трудоустройством с помощью CodeIgniter.
В школе я немного разбирался в MVC ASP.NET/C# и Java, и соглашение заключалось в том, что ваша модель в основном состояла из классов, которые представляли фактические объекты, но также абстрагировала все соединение с базой данных и такое... что довольно из MVC, из того, что я собрал.
Я предполагаю, что я прав, говоря, что CI полностью абстрагирует соединение с базой данных вне поля зрения (если вы не смотрите), что является парным для курса, а модели, которые вы можете создать, могут абстрагировать "общие" методы CRUD a бит больше для создания некоторых методов, которые более полезны для конкретной модели.
То, с чем я столкнулся, потому что он отличается от того, с чем я привык с MVC, заключается в том, что всякий раз, когда вы говорите... возвращаете строку из базы данных, соглашение состоит в том, чтобы просто поместить ее в ассоциативный массив или стандартный объект со свойствами, представляющими данные из строки.
В ASP у вас будут фактические классы, которые вы могли бы построить для хранения этой информации. Например, у вас будет класс House
, и данные будут сохранены как свойства (например, bedrooms
, bathrooms
, address
), и методы будут представлять полезные вещи, которые вы могли бы сделать с данными (например, printInfo()
может print("$address has $bedrooms bedrooms and $bathrooms bathrooms!')
).
У меня создается впечатление - только из кода, который я видел в Интернете, - что это не стандартный способ делать что-то. Предполагается, что вы просто используете массивы или общие объекты и говорите... do $this->house_model->print_info($houseobject)
вместо $houseobject->print_info();
?
Спасибо.