Как разделить классы моделей между приложениями в CakePHP? - PullRequest
0 голосов
/ 22 сентября 2009

У меня есть два приложения в CakePHP, приложение A и приложение B. Я хочу, чтобы приложение B имело доступ к моделям в приложении A. Я обнаружил, что это возможно с переменной $ modelPaths в файле bootstrap.php, но есть несколько моделей с одинаковыми именами в обоих приложениях. Это проблема? Если это проблема, как я могу выбрать только некоторые модели из приложения A для использования приложением B? Если это не проблема, как я могу узнать, какая модель из приложения A, а какая из приложения B? Спасибо

Ответы [ 2 ]

3 голосов
/ 22 сентября 2009

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

Если я прав, он начнется с моделей в вашей папке app/models/ (и любых подкаталогах, которые в нем содержатся), затем перебирает каждый дополнительный путь к классу, который вы определили (т. Е. В $modelPaths), и, наконец, ищите модели в ядре (т.е. cake/lib/model/).

Таким образом, в основном, Cake загрузит модель в ядре, если модель не существует в другом месте. Затем он загрузит модель в другое место, если только в вашем каталоге приложений нет модели конкретного приложения.

С некоторым базовым тестированием вы сможете подтвердить, что это так.

0 голосов
/ 04 июля 2017

Бит устарел. Но на компьютерах с Linux вы можете использовать символическую ссылку (https://en.wikipedia.org/wiki/Symbolic_link)), чтобы указать только модели, которые вы хотите использовать в этих двух приложениях.

Возможные проблемы:
1) Не решение для тех же названий моделей
2) Различные источники данных - если вы хотите использовать также таблицы приложения A из приложения B
3) Создание символической ссылки для всех связанных поведений, классов

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...