Подзаголовок воспламенителя кода

Итак, у codeigniter есть приложение и система. Я хочу добавить еще одну папку с именем "платформа", и она будет иметь ту же структуру каталогов, что и приложение (контроллеры, представления и все).

Как я хочу, чтобы это работало так: - Когда вы загружаете модель, представление, библиотеку, контроллер и т. Д., Он должен сначала проверить приложение (если его нет, он должен проверить на платформе, а если его нет, он должен показать ошибку) - Я хочу сделать некоторые базовые модели и контроллеры в "платформе" и все контроллеры и модели из "приложения" для их наследования - Я хочу расширить базовые базовые и библиотечные классы в "платформе", и при необходимости они будут продлен в "приложении"

Я не знаю, может ли воспламенитель кода уже сделать это или ему нужно что-то сделать.

По сути это что-то вроде плагинов от cakephp (если кто-то знает, как они работают).

Вопрос:

Как мне сделать выше?

2 ответа

Решение

Существует папка "Third_party", где вы можете добавить "Sub Application", как вы его называете или Application "Package",

"Пакет приложения позволяет легко распределять полные наборы ресурсов в одном каталоге с собственными библиотеками, моделями, помощниками, файлами конфигурации и языковыми файлами. Рекомендуется размещать эти пакеты в папке application / third_party..."

Источник: http://codeigniter.com/user_guide/libraries/loader.html (почти внизу документа.)

Это делается внутри папки приложения. Может быть способ достичь того, чего вы хотите, и поместить вашу папку за пределы приложения, выполнив это:

$this->load->add_package_path(PATH_OUTSIDE_APPLICATIONS.'/my_package/');

вместо:

$this->load->add_package_path(APPPATH.'third_party/my_package/');

Я еще не проверял, будет ли это работать. Но вы можете попробовать это!

Вам придется выполнить некоторую перенастройку файлов, но вы можете создать две папки с отдельными файлами приложений, а затем указать две отдельные индексные файлы для каждой папки с помощью переменной $application_folder.

Я никогда не пробовал, но это должно сработать. Убедитесь, что вы также обновили переменную $system_folder.

Больше здесь:

http://codeigniter.com/user_guide/general/managing_apps.html

Другие вопросы по тегам