php
  • codeigniter
  • pagination
  • parent
  • construct
  • 2016-09-13 3 views 0 likes 
    0

    Как я могу сказать этот код ниже в моей родительской :: _ конструкции, а затем называть его отдельной дочерней функцией?CodeIgniter Parent Declare

     /*bootstrap classes*/ 
         $pag_config ['full_tag_open'] = "<ul class='pagination'>" ; 
         $pag_config ['full_tag_close'] ="</ul>" ; 
         $pag_config ['num_tag_open'] = '<li>' ; 
         $pag_config ['num_tag_close'] = '</li>' ; 
         $pag_config ['cur_tag_open'] = "<li class='disabled'><li class='active'><a href='#'>" ; 
         $pag_config ['cur_tag_close'] = "<span class='sr-only'></span></a></li>" ; 
         $pag_config ['next_tag_open'] = "<li>" ; 
         $pag_config ['next_tagl_close'] = "</li>" ; 
         $pag_config ['prev_tag_open'] = "<li>" ; 
         $pag_config ['prev_tagl_close'] = "</li>" ; 
         $pag_config ['first_tag_open'] = "<li>" ; 
         $pag_config ['first_tagl_close'] = "</li>" ; 
         $pag_config ['last_tag_open'] = "<li>" ; 
         $pag_config ['last_tagl_close'] = "</li>" ; 
    
    +0

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

    +0

    нет, он находится в том же файле. Мне нужно написать этот код как один из родительских конструкций. Поэтому, чтобы использовать его для нескольких дочерних функций в одном файле, мне больше не нужно писать все это ... – Mauliardiwinoto

    +0

    Итак, вы хотите определить этот массив в конструкторе и затем получить доступ к тому же массиву в дочерних функциях? – Skriptotajs

    ответ

    0

    внутри родительской конструкции:

     $this -> pag_config = array (
         /*bootstrap classes*/ 
         'full_tag_open' => "<ul class='pagination'>" , 
         'full_tag_close' => "</ul>" , 
         'num_tag_open' => '<li>' , 
         'num_tag_close' => '</li>' , 
         'cur_tag_open' => "<li class='disabled'><li class='active'><a href='#'>" , 
         'cur_tag_close' => "<span class='sr-only'></span></a></li>" , 
         'next_tag_open' => "<li>" , 
         'next_tagl_close' => "</li>" , 
         'prev_tag_open' => "<li>" , 
         'prev_tagl_close' => "</li>" , 
         'first_tag_open' => "<li>" , 
         'first_tagl_close' => "</li>" , 
         'last_tag_open' => "<li>" , 
         'last_tagl_close' => "</li>" , 
        ) ; 
    

    Внутри функции ребенка:

     $pag_config ['total_rows'] = count ($to_count) ; 
         $pag_config ['per_page'] = $to_show ; 
         $pag_config ['uri_segment'] = 3 ; 
         $pag_config ['base_url'] = base_url().'prcsys/overall' ; 
    
         $merge_paginate = array_merge($pag_config,$this -> pag_config); 
         $this -> pagination -> initialize ($merge_paginate) ; 
    
    1

    Использование $this для доступа к переменным класса.

    class YourClass extends CI_Controller { 
    
        function __construct() { 
         parent::__construct(); 
    
         $this->pag_config = array(); 
         $this->pag_config['full_tag_open'] = "<ul class='pagination'>" ; 
         $this->pag_config['full_tag_close'] ="</ul>" ; 
         $this->pag_config['num_tag_open'] = '<li>' ; 
         $this->pag_config['num_tag_close'] = '</li>' ; 
         $this->pag_config['cur_tag_open'] = "<li class='disabled'><li class='active'><a href='#'>" ; 
         $this->pag_config['cur_tag_close'] = "<span class='sr-only'></span></a></li>" ; 
         $this->pag_config['next_tag_open'] = "<li>" ; 
         $this->pag_config['next_tagl_close'] = "</li>" ; 
         $this->pag_config['prev_tag_open'] = "<li>" ; 
         $this->pag_config['prev_tagl_close'] = "</li>" ; 
         $this->pag_config['first_tag_open'] = "<li>" ; 
         $this->pag_config['first_tagl_close'] = "</li>" ; 
         $this->pag_config['last_tag_open'] = "<li>" ; 
         $this->pag_config['last_tagl_close'] = "</li>" ; 
        } 
    
        function childFunction() { 
         echo $this->pag_config['full_tag_open']; 
        } 
    
    } 
    

    Вышеприведенный пример больше похож на то, о чем вы просили, но я бы предложил определить его как свойство, потому что он выглядит намного чище.

    class YourClass extends CI_Controller { 
    
        private $pag_config = array (
         /*bootstrap classes*/ 
         'full_tag_open' => "<ul class='pagination'>" , 
         'full_tag_close' => "</ul>" , 
         'num_tag_open' => '<li>' , 
         'num_tag_close' => '</li>' , 
         'cur_tag_open' => "<li class='disabled'><li class='active'><a href='#'>" , 
         'cur_tag_close' => "<span class='sr-only'></span></a></li>" , 
         'next_tag_open' => "<li>" , 
         'next_tagl_close' => "</li>" , 
         'prev_tag_open' => "<li>" , 
         'prev_tagl_close' => "</li>" , 
         'first_tag_open' => "<li>" , 
         'first_tagl_close' => "</li>" , 
         'last_tag_open' => "<li>" , 
         'last_tagl_close' => "</li>" , 
        ) ; 
    
        function childFunction() { 
         echo $this->pag_config['full_tag_open']; 
        } 
    
    } 
    
    Смежные вопросы