Как я могу изменить путь к файлу конфигурации в Codeigniter? - PullRequest
3 голосов
/ 20 августа 2011

Я использую Codeigniter Framework, и вы знаете, когда я пытаюсь загрузить файл конфигурации, затем использую его

Я делаю что-то подобное:

$this->load->config('myconfig', TRUE); 

Файл myconfig.php находится внутрипапку приложения (application / config / myconfig.php)

и используйте ее следующим образом:

 $this->config->item('get_item', 'myconfig')

Мой вопрос: как я могу изменить местоположение файла myconfig и правильно его использовать?

Я хочу поместить конфигурационные файлы в папку out следующим образом:

  • mysite -> system (папка)
  • mysite -> user_guide (папка)
  • mysite -> myConfigFiles (папка)
  • mysite -> myConfigFiles (папка) / myconfig.php

Мне нужно сделать что-то вроде этого:

$this->load->config(base_url.'myConfigFiles/myconfig', TRUE); 

любая помощь?

Ответы [ 2 ]

6 голосов
/ 20 августа 2011

Да, это возможно. Загрузчик примет ../../relative/paths. Вы можете использовать относительный путь из каталога конфигурации по умолчанию (абсолютный путь не будет работать).

Допустим, у вас есть эта структура (вам было трудно следовать вашему описанию):

  • MySite
    • приложение
      • config <- каталог по умолчанию </li>
    • система
    • myConfigFiles
      • myconfig.php

Вы можете просто сделать это:

$this->load->config('../../myConfigFiles/myconfig', TRUE);

Это работает практически для всего - представления, библиотеки, модели и т. Д.


Обратите внимание, что с введением константы ENVIRONMENT в версии 2.0.1 вы можете автоматически проверять файлы конфигурации в каталоге конфигурации в другом каталоге, соответствующем имени текущей окружающей среды. Это действительно удобный метод для загрузки различных файлов в зависимости от того, работаете ли вы в разработке или в разработке. Я не уверен на 100%, каковы ваши цели, но эти дополнительные знания могут также помочь вам в их достижении или могут быть совершенно неактуальными.

2 голосов
/ 20 августа 2011

Действительно не уверен, ПОЧЕМУ вы хотели бы сделать это (и я бы не рекомендовал это), но, поскольку все файлы конфигурации являются обычными файлами PHP, вы можете поместить файл конфигурации в стандартное расположение, в котором загружаются ваши дополнительные файлы конфигурации.Как пример:

mysite -> application -> config -> myconfigloader.php

затем в myconfigloader.php поместите это:

<?php

require_once(APPPATH.'../myConfigFiles/myconfig.php');

Так что, как только вы сделаете

$this->load->config('myconfigloader', TRUE); 

Это загрузит все в вашем myconfig.php файл.Дайте мне знать, если это работает для вас.

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