вызвать мою собственную библиотеку в представлении в codeigniter - PullRequest
0 голосов
/ 03 ноября 2011

Я только что создал свою собственную библиотеку в этой папке (приложение / библиотека) и, выполнив все шаги для создания отдельной библиотеки,

, как только я загружаю эту библиотеку в свой контроллер, она выполняет функцию, но при попытке передатьэто к виду, ничего не вернуть

вот мой код

МОЯ СОБСТВЕННАЯ ФУНКЦИЯ

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

    class Common {

            public function date_arabic()
            {
            $daysarabic=array('الأحد','الاثنين','الثلاثاء'
            ,'الأربعاء','الخميس','الجمعة','السبت');
            $monarabic=array('','يناير','فبراير','مارس',
            'أبريل','مايو','يونيو','يوليو'
            ,'أغسطس','سبتمبر','أكتوبر','نوفمبر','ديسمبر');
            $date=getdate(time());
            echo $daysarabic[$date['wday']].' '.$date['mday'].' '.$monarabic[$date['mon']].' '.$date['year']/*.' الوقت الأن '.$date['hours'].':'.$date['minutes'].':'.$date['seconds']*/;
            }       

    }

МОЙ контроллер

    //arabic date
    $this->load->library('Common');
    $this->common->date_arabic();

здесь он распечатывает данные в моей собственной функции, я пытался сохранить их в $ data, чтобы передать их в вид, подобный этому

    //arabic date
    $this->load->library('Common');
    $data['date_arabic'] = $this->common->date_arabic();
    ...

    $this->load->view('home_page.php', $data);

, затем при просмотрея просто набираю

<?php echo $date_arabic ; ?>

но ничего не возвращается

Ответы [ 2 ]

0 голосов
/ 04 ноября 2011

В вашей функции измените последнюю строку из этого:

echo $daysarabic[$date['wday']].' '.$date['mday'].' '.$monarabic[$date['mon']].' '.$date['year']/*.' الوقت الأن '.$date['hours'].':'.$date['minutes'].':'.$date['seconds']*/;

к этому:

return $daysarabic[$date['wday']].' '.$date['mday'].' '.$monarabic[$date['mon']].' '.$date['year']/*.' الوقت الأن '.$date['hours'].':'.$date['minutes'].':'.$date['seconds']*/;
0 голосов
/ 03 ноября 2011
when you are writing libraries, you have to manually grab the Codeigniter instance like this

$CI =& get_instance();

then you would use $CI where you would normally use $this to interact with loaded codeigniter resources

so...

instead of

$this->input->post();
you would write

$CI->input->post();


EXAMPLE LIBRARY STRUCTURE

class Examplelib {

    // declare your CI instance class-wide private
    private $CI;

    public function __construct()
    {
        // get the CI instance and store it class wide
        $this->CI =& get_instance();
    }

    public function lib_function()
    {
        // use it here
        $this->CI->db->etc()
    }

    public function another_func()
    {
        // and here
        $this->CI->input->post();
    }

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