Загрузить библиотеку в модели в CodeIgniter

Пример Bjarne Stroustrup в его часто задаваемых вопросах C ++ предполагает, что вы правы и вам нужно только определение, если вы берете адрес.

class AE {
    // ...
public:
    static const int c6 = 7;
    static const int c7 = 31;
};

const int AE::c7;   // definition

int f()
{
    const int* p1 = &AE::c6;    // error: c6 not an lvalue
    const int* p2 = &AE::c7;    // ok
    // ...
}

Он говорит: «Вы можете принять адрес статического члена, если (и только если) он имеет определение вне класса». Это говорит о том, что это будет работать иначе. Возможно, ваша функция min вызывает как-то за кулисами.

13
задан Summer 5 March 2010 в 02:12
поделиться

3 ответа

Я вызывал check_login из конструктора, и это вызывало проблемы.

Решением является вызов $this->_assign_libraries(); сразу после загрузки библиотеки в конструкторе.

Благодаря этой теме на форуме codeignitor: http://codeigniter.com/forums/viewthread/145537/

5
ответ дан 1 December 2019 в 19:39
поделиться

Вам не нужно загружать библиотеку в МОДЕЛЬ, МОДЕЛИ всегда вызываются из КОНТРОЛЛЕРОВ, поэтому вам просто нужно загрузить библиотеки в Контроллер, и функции будут доступны в моделях, вызванных из него!

С уважением,
Педро

22
ответ дан 1 December 2019 в 19:39
поделиться

Библиотеки должны автоматически назначаться экземпляру модели, чтобы он работал нормально.

Помните, что если вы не можете получить доступ к суперглобалу, вы всегда можете использовать $ ci = & get_instance (), чтобы получить его без дополнительных затрат памяти.

Но все же ... ваш пример кода должен работать>. <

5
ответ дан 1 December 2019 в 19:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: