2015-06-27 2 views
2

У меня два приложения работают на одном сервере, а один из них - CI. Мне нужен тот, который не является CI, для использования моделей, библиотек, помощников и т. Д. Мне нужно что-то вроде get_instance(), но я не в контексте контроллера, я вне CodeIgniter.Получить экземпляр CodeIgniter вне контекста контроллера

Как я могу получить общий экземпляр контроллера или создавать экземпляры моделей или импортировать помощники из другого приложения?

Пример: А и CI являются приложения и оба работает на том же сервере

ROOT 
    A 
    script.php 
    CI (it's a CodeIgniter project, with controllers, models etc) 
    ... 
    random_model.php 
    ... 
    random_helper.php 

Как я могу сделать script.php на использовании random_model.php на CI?

ответ

0

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

Это относится не только к сеансу, но и к другим настройкам конфигурации (database, base_url, charset, ... и другим параметрам), и оно будет автоматически загружать другие библиотеки, помощники, пакеты ... и т. Д., Если они есть, из вашей автозагрузки .php

Лучше всего создать контроллер в рамках проекта «codeigniter» и назвать его, как обычно, с другими контроллерами.

или даже лучше, создать второй проект CodeIgniter, так как он имеет очень маленький след, для сценария «A» и избежать всех конфликтов между двумя проектами и получить более организованной

Я надеюсь, что имеет смысл.

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