CodeIgniter Team Work
Я изучал CodeIngiter и до сих пор, но не могу понять, как CodeIgniter можно использовать для работы в команде. Может кто-нибудь объяснить основы командной работы с использованием CodeIgniter?
Из того, что я понимаю, это так, поправьте меня, если я ошибаюсь:
Допустим, есть проект с 5 страницами: Домой, О нас, Новости, Галерея и Контакты. В чем может помочь CodeIgniter, скажем, у меня есть 2 программиста в моей команде, поэтому каждый из нас создает модуль (для каждой модели Controller-View-Model) (например, Программист A выполняет модуль новостей, Программист B выполняет модуль Gallery) в разных папках. (папка новостей и галерея) и др.
Таким образом, конечным продуктом будет группа модулей в отдельных папках. главная /, контент /, новости /, галерея /, контакты / и т. д.
Это правильный поток командной работы с использованием CI? Я читал, что CI можно использовать для совместной работы дизайнеров (внешний интерфейс CSS) и программистов (база данных и контроллер), но я думаю, что с этим потоком разработчикам придется подождать, пока программисты получат имена переменных для анализа в представлении, и что как-то остановит ход работы.
2 ответа
В настоящее время я работаю в командной среде с Codeigniter, и я скажу вам, что в целом это происходит так.
Дизайнер создает кодированные дизайны (html/css) со статическим содержимым. (без переменных)
Пока он занимается этим, я и другие работаем над моделью данных, которую мы собираемся использовать, и пишем методы модели, которые мы можем предвидеть, что нам нужно взаимодействовать с данными так, как наше приложение будет их использовать.
Затем Дизайнер передает статические макеты, я "разрезаю" их в верхний / нижний колонтитул / и т. Д. И заменяю статический контент переменными, записывая соответствующие контроллеры.
В качестве бонуса я настоятельно рекомендую использовать какой-либо контроль версий с вашей командой, в зависимости от ваших потребностей, которые я обычно придерживаюсь SVN или GIT, GIT немного больше подходит для распределенных команд, которые не находятся в централизованном месте. Это значительно повысит эффективность и предотвратит (или уменьшит) ситуации, в которых два человека работают с одним и тем же файлом, а кто-то перезаписывает работу, и другие ситуации, возникающие, когда несколько человек работают с одними и теми же файлами.
CodeIgniter - это только один из способов использования Model-View-Controller. Вам, вероятно, не нужно делить вещи на отдельные модули или папки; Вместо этого вы, вероятно, захотите создать такие файлы:
Контроллеры / gallery.php
Контроллеры / home.php
Контроллеры / news.php
просмотров / gallery_view.php
просмотров / home_view.php
просмотров / news_view.php
модели / page.php
модели / picture.php
Для каждого контроллера совершенно законно использовать несколько моделей и представлений; на самом деле, в этом все дело. Контроллер блога может использовать модели для пользователя, публикации и комментариев. Вы также можете создавать вложенные представления, которые используются внутри других представлений (например, views / header_view.php).
Если ваш проект имеет четко определенные спецификации, вы можете рассмотреть возможность разделения команды между одним человеком, выполняющим модель и логику контроллера, а другим - выводом представления. Или вы можете разделить работу между различными частями сайта; однако вы все равно захотите написать некоторый общий код, который будет использоваться в рамках всего проекта. Это самый важный принцип MVC: не повторяйте себя.