2017-12-07 11 views
0

저는 newbie codeigniter 프로그래머입니다.동일한 클래스 codeigniter에서 다른 함수의 변수를 사용하십시오.

이 함수의 모든 변수와 동일한 클래스 컨트롤러의 다른 함수를 사용하고 싶습니다. 이 내 코드

function page() 
{ 

    $page_id = $this->uri->segment(3); 
    $page_details = $this->m_module->submenu($page_id)->row_array(); 
    $data['title']= $page_details['sub_title']; 
    $data['menu'] = $page_details['title']; 
    $data['submenu'] = $page_details['sub_title']; 
    $data['link'] = $page_details['sub_target']; 
    $data['page_id'] = $page_id; 
} 

function employee() 
    { 
     $data['employee']= $this->m_module->employee()->result_array(); 
     $this->page();  
     $this->template->display($data['link'],$data); 
    } 

문제는 가변 function page()는 employee() 함수를 호출 할 수 없습니다.

이 내가 도움을 주시기 바랍니다에게 브라우저

A PHP Error was encountered 

Severity: Notice 

Message: Undefined index: link 

Filename: controllers/Module.php 

Line Number: 39 

얻을.

+0

링크 사이의 값을 전달하는 클래스 변수를 설정할 수 개인 링크를 만든 다음 $ this-> link = $ data [ 'link']와 같은 페이지 함수 내에서 설정 한 다음 $ this-> link를 사용하여 employee에서이를 참조하십시오. – iSZ

+0

내 코드에서 예제를 제공 할 수 있습니까? –

+0

아래 예제를 추가했습니다. 귀하의 코드가 CI 클래스 안에 있습니까? – iSZ

답변

1

업데이트 당신의 방법 당신의 방법은 값으로 반환되지 않았기 때문에 당신이 점점되지 않은 이유가 있었다

private function employee() { 
    $data = $this->page(); 
    $data['employee']= $this->m_module->employee()->result_array(); 
$this->template->display($data['link'],$data); 
} 

} 다음

private function page() { 
$page_id = $this->uri->segment(3); 
$page_details = $this->m_module->submenu($page_id)->row_array(); 

return [ 
    'title' => $page_details['sub_title']; 
    'menu' => $page_details['title']; 
    'submenu' => $page_details['sub_title']; 
    'link'=> $page_details['sub_target']; 
    'page_id' => $page_id; 
]; 

같은 주셔서 감사합니다.

+0

형제, 고마워하지만 지금은 문제가 변수 $ 데이터 [ '직원']보기 페이지에서 호출 할 수 없습니다. 심각도를 발생했습니다 PHP는 오류 코드를 오류 : 메시지주의 : 정의되지 않은 변수 : 직원 파일 이름 : human_capital/employee.php 줄 번호 : (24) 내가 배열 $ 데이터 [ '직원'에 원하는 ]이 같은보기 페이지에서

+0

업데이트 된 코드를 확인하십시오. – usrNotFound

+0

정말 고마워. 이것은 매우 도움이되었습니다. –

0

넌 기능

넌 포함하는 클래스, 예를 들어 내부 전용 변수를 설정할 필요
<?php 
    class MyController extends CI_Controller { 
     private $link; 

     public function page($data){ 
      $this->link = $data['link']; 
     } 

     public function page(){ 
      echo $this->link; 
     } 

    } 
?>