Совместные ресурсы Codeigniter - Требуются мнения - PullRequest
1 голос
/ 12 февраля 2010

Я запускаю несколько веб-сайтов, на которых запущена одна установка CodeIgniter на моем сервере (отдельные каталоги приложений и один системный каталог).Это работало невероятно, и я не вижу смысла менять его на этом этапе.

Я пишу библиотечные классы для расширения / переопределения CI все время и много раз, если я нахожу ошибку илиПовышение эффективности Я должен вернуться на несколько веб-сайтов, чтобы внести одинаковые корректировки в случае опечатки, которая может сломать один из веб-сайтов.Из-за этого требуется, чтобы я изменил каждый файл и затем проверил этот сайт на наличие ошибок.

Я размышлял над решением использовать единый каталог библиотек в центральном месте и сопоставить все мои сайты с этим центральным каталогом.,Затем, когда я внесу изменения в файл, он немедленно распространится на все последующие сайты.Это все еще потребует, чтобы я проверил каждый на наличие ошибок, но мне не придется вносить изменения несколько раз.Все, что относится к одному веб-сайту, будет либо не общим файлом (все еще в связанном каталоге, но не используется в другом месте), либо может быть помещено в локальный помощник.

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

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

Ответы [ 4 ]

3 голосов
/ 12 февраля 2010

Я думаю, что это действительно имеет смысл:] Пойти на это. Даже на официальной странице CodeIgniter говорится, что это возможно.

Кроме того, я не вижу одной причины, по которой могут возникнуть какие-либо проблемы.

Изменить: они касаются проблемы нескольких сайтов здесь: http://codeigniter.com/user_guide/general/managing_apps.html

также:

http://codeigniter.com/wiki/Multiple_Applications/
http://www.exclusivetutorials.com/setting-multiple-websites-in-codeigniter-installation/
Как обрабатывать несколько проектов в CodeIgniter?
http://codeigniter.com/forums/viewthread/56436/

2 голосов
/ 12 февраля 2010

У меня есть один системный каталог и отдельные каталоги приложений для моих приложений CI. Чтобы обмениваться библиотеками и некоторыми шаблонами представления между моими приложениями, я создал «общий» каталог в той же папке, что и система CI, и с той же структурой, что и обычная папка приложения, и использовал символические ссылки, но вы можете изменить Loader класс, чтобы он тоже смотрел в папке Common. Моя установка выглядит примерно так:

/var/CodeIgniter/
/var/Common/
/var/Common/config/
/var/Common/controllers/
...
/var/Common/libraries/
...
/var/www/someapp/
/var/www/someotherapp/
...
1 голос
/ 19 февраля 2010

Я не уверен, как вы справляетесь с публикацией своих сайтов (при условии, что вы действительно делаете это), но я бы посмотрел на контроль версий. Например, в SVN вы можете сделать внешний доступ к другому каталогу svn (или файлу), а затем просто обновить текущий каталог svn, который захватывает внешний файл. Этот подход получает одно преимущество от других: когда вы изменяете общую библиотеку, на другие это не сразу влияет. Это предотвращает нежелательные перерывы, прежде чем вы успеете протестировать все сайты с помощью общей библиотеки. Затем вы можете просто обновить папку каждого сайта, когда будете готовы проверить изменения. Это «дополнительная работа», но она предотвращает дублирование кода и нежелательные перерывы.

1 голос
/ 12 февраля 2010

Я написал MY_Loader, чтобы сделать именно это.

http://ellislab.com/forums/viewthread/136321/

...