2014-07-16 5 views
0

Прежде всего, это не вопрос ошибки кодирования.Подходящая структура файла для Codeigniter

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

обычно в CI следующую структуру поддерживается в папке приложения

root 
----------- 
    |___application 
      |____ config 
      |____ controllers 
      |____ models 
      |____ views 
      ................ 
      ................ 
      |____ .htaccess 

прямо сейчас Я лично использую эту структуру

root 
----------- 
|___application 
     |___front 
     |  |____ config 
     |  |____ controllers 
     |  |____ models 
     |  |____ views 
     |  ................ 
     |  ................ 
     |  |____ .htaccess 
     | 
     |___admin 
     |  |____ config 
     |  |____ controllers 
     |  |____ models 
     |  |____ views 
     |  ................ 
     |  ................ 
     |  |____ .htaccess 

Теперь у меня есть только одна модель, которая имеет общие общие функции. Таким образом, я сделал два дублированных копий и положить один

application/front/models, а другой в application/admin/models

Теперь приложение/передний папка вызывается seeting в файле index.php в корневой папке

$application_folder = 'application/front'; 

Теперь, чтобы получить доступ к панели администратора, необходимо получить доступ к папке приложения/администратор, который осуществляется следующим образом

я сделал дубликат index.php (переименовал его в качестве admin.php) файла и положите его корневой папке. Тогда я сделал изменения $application_folder = 'application/admin';

так, если URL, как это

abc.com/admin.php/reports 

затем он вызывает reports controller внутри application/admin/controllers папки

Так что все я хочу знать от вас, что это файловая структура ok, и я продолжу это?

или я должен использовать другие средства

+0

Выглядит хорошо, но, возможно, вам нужно разместить общие модели в центральном месте, а не дублировать их. –

+0

Попробуйте сделать модуль для каждого https://github.com/jenssegers/codeigniter-hmvc-modules –

+0

Вы можете попробовать [HMVC] (https://bitbucket.org/wiredesignz/codeigniter-modular-extensions-hmvc) для организовывать или кодировать. –

ответ

0

Одно очень общее решение для этого, чтобы установить новый «пакет приложения.»

В 2.x.0 это не хорошо документированы, но вы можете видеть об этом здесь:

http://ellislab.com/codeigniter/user-guide/libraries/loader.html

В основном добавить общий путь, называемый shared/ затем добавить shared/models. Чтобы загрузить это просто:

$this->load->add_package_path(dirname(APPPATH).'shared/'); 
$this->load->model('whatever'); 

Возможно, вы можете отключить APPPATH с помощью FCPATH или что-то в этом роде. Прошло год или два, так как я использовал CodeIgniter для чего угодно, но так я и делал.

Смежные вопросы