2015-02-11 2 views
0

Я не эксперт PHP-разработчик, но я был перемещен из JAVA и страдает от методов организации кода.Общий доступ к объекту и области доступа к переменной в PHP codeigniter

У меня есть класс контроллера, который расширяет вызовы MY_Controller, которые имеют некоторые защищенные переменные.

->User_ID 
->Pofile_ID 

Вот вещь, у меня есть payamentprocessing функцию, хранящихся на отдельный PHP файла класс «PaymentService.php` и я определил функция

payamentprocessing определяется их как:

public function processPayment() { 
     //load helper and libraries for 
     //validating the input from the form 
     $this->load->helper(array('form', 'url')); 
     $this->load->library('form_validation'); 
     //$post = $this->input->post(); 
     //retrieve form data and sanitize 
     $card_number = $this->sanitize($_POST['card_number']);     
} 

Итак, что я хочу, это для примера

, если я создаю экземпляр PaymentService Класс и вызов ProcessPayement Метод говорит в PaymentController Как я могу получить _POST varibales как глобальный и $this контекст, доступный внутри моего метода ProcessPayment.

Thankyou так много!

+0

'$ this-> load-> помощник (массив ('форма', 'URL'));' '$ this-> load-> library ('form_validation'); 'работает? –

+0

Нет, я не хочу принять этот стиль – danielad

ответ

2
$CI =& get_instance(); 
$post_val=$CI->input->post('YOUR_POST_VARIABLE'); 
//you can get all post values like this 
//$post_vals=$CI->input->post(); 

Update: Ваша последняя функция будет как этот

public function processPayment() { 
    $CI =& get_instance(); 
    $CI ->load->helper(array('form', 'url')); 
    $CI ->load->library('form_validation');  
    $card_number=$this->sanitize($CI->input->post('card_number')); //assuming sanitize is your member function of your current class    
} 
Смежные вопросы