Использование моделей CakePHP 3.X

Итак, я довольно новый PHP-разработчик и плохо представляю, как использовать модели в CakePHP. У меня сильный опыт работы с Android и Java, поэтому я очень хорошо знаком с инфраструктурой MVC, но после поиска и копания в php других людей я обнаружил, что использование модели сильно различается. Я хочу получить исчерпывающий ответ.

Буду ли я использовать модели в CakePhp так же, как класс в java (создавать экземпляры), а также в качестве подключения к базе данных? Или я бы отделил модели от «классов Java» и использовал бы их по-разному.

Заранее спасибо.


person Matanatr96    schedule 21.09.2016    source источник


Ответы (1)


Модель — это слой

Модель не относится к одному типу класса, это термин довольно высокого уровня, описывающий слой в MVC, который должен реализовать всю вашу обработку/выборку данных. В зависимости от фреймворка каждый из них имеет свою собственную структуру и тип слоя модели, все они более или менее различаются.

В основном это можно упростить с помощью «толстых моделей тощих контроллеров». Ваш контроллер должен обрабатывать запрос и передавать необходимую информацию на уровень модели и возвращать данные, необходимые для отображения, или делать с ними что-то еще.

В CakePHP

Буду ли я использовать модели в CakePhp так же, как класс в java (создавать экземпляры), а также в качестве подключения к базе данных? Или я бы отделил модели от «классов Java» и использовал бы их по-разному.

Я действительно рекомендую вам пройти базовое руководство и прочитать раздел ORM книги.

Вы можете поместить все, что хотите, в слой модели. Например, у меня есть классы, которые просто возвращают некоторые данные, а другие содержат статические данные, например, для элементов навигации. Но давайте пока остановимся на табличных объектах. В торте объект таблицы содержит ссылку на объект соединения, который содержит фактическое соединение. Объяснять это здесь не имеет никакого смысла, читайте раздел ORM. :)

Я понятия не имею, что именно вы хотите сделать, поэтому я не могу дать вам более подробный совет о том, что вы можете или должны сделать.

person floriank    schedule 22.09.2016
comment
После второго прочтения структуры папок и того, насколько высокоуровневыми являются модели, это обретает смысл. В структуре папок есть 3 папки (Behavior, Entitiy и Table), что отвечает на мой вопрос. Я могу поместить классы с различным использованием в отдельные папки. Спасибо за вашу помощь. Я бы +1, но я не могу, так как у меня меньше 15 представителей: D - person Matanatr96; 22.09.2016