Bir yardımcı işlevi veritabanını sorgulamak için modeli erişmek nasıl?

2 Cevap php

I am trying to create authentication for my php website. I am using the codeigniter framework. I will have to validate the session in all the pages of my website. So to avoid the code repetition, i am planning to do it in a helper function. Now that my user credentials are in my database i would like to access the model to query the database from the helper function. In a controller class i would have done this by using

$this->load->model('user_model');

Bana bir yardımcı dosyasına eşdeğer bildiriniz. Yaklaşım önerisi her tür de takdir edilmektedir. Şimdiden teşekkürler.

2 Cevap

Sen bir yardımcı olarak CI örneğine erişmek için $ bu kullanmak mümkün olmayacaktır, ancak CI bunu yapmak için bir yol vardır -

İlk olarak, CI örneği için bir başvuru gerekir:

$CI =& get_instance();

Eğer modeli yüklemek gerekirse daha sonra, bunu şöyle yapabilirsiniz:

$CI->load->model('model_name');

Ve nihayet bu gibi modelde herhangi bir işlevi çağırır:

$CI->model_name->function_name();

Temel olarak, bu yerine $ $ CI kullanın. Umut olur.

O çok kod tekrarı değil. Ben bu yaklaşımı öneririm:

function __construct()
{
    parent::Controller();

    if ($this->auth->is_logged_in() !== TRUE) // "auth" is the authentication library
    {
        redirect('login');
    }
}