在PHP codeigniter中共享对象和变量访问范围

时间:2015-02-11 09:40:13

标签: php codeigniter

我不是专业的PHP开发人员,但我已经从JAVA转移并遭受代码组织技术的困扰。

我有一个控制器类,它扩展了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方法中。

非常感谢你!

1 个答案:

答案 0 :(得分: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();

更新:您的最终功能将是这样的

 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               
}