Я был в похожей ситуации, когда мне нужно было поделиться моделью (абстрактной коллекцией методов) между фреймворком (в моем случае CakePHP) и сценариями оболочки для пакетных заданий.Для этого я обнаружил, что самым простым способом было создать модель CakePHP, как и любую другую модель, КРОМЕ этого не расширяло базовый (родительский) класс каркасной модели (CI_Model в вашем случае).Преимущество этого состояло в том, что я все еще мог «загружать» (инициировать) класс из CakePHP, используя те же соглашения, что и для любой другой модели платформы, но я мог использовать ту же модель (файл actall) в пакетных сценариях оболочки без необходимостизагрузить что-нибудь дополнительно.
Я почти уверен, что то же самое возможно в CI (хотя я не большой пользователь CI):
# the model definition /application/models/CustomModel.php
class CustomModel {
public function __construct() {} # ...
public function get_user_group_ids( $id ) {} # ...
}
# from inside the a controller method:
$this->load->model( 'CustomModel' );
$this->CustomModel->get_user_group_ids( $id ); # ...
# from inside the shell scripts:
require_once( YOUR_CI_PATH . '/application/models/CustomModel.php' );
$obj = new CustomModel();
$obj->get_user_group_ids( $id ); # ...
Надеюсь, это поможет, ура