2014-11-18 5 views
0

Привет Я пытаюсь передать объект PHP в качестве параметра корыта функции, но я получаю следующие ошибки:Pass объекта функция корыта

Примечание: Попытка получить свойство необъектных

вызовов к функции члена создать() на не-объект

$mollie = new Mollie_API_Client; 
$mollie->setApiKey("0000"); 

add_action('init', 'gtp_mollie_payment_submit'); 
function gtp_mollie_payment_submit($mollie) { 

    if(isset($_POST['checkout_submit'])) { 

     $payment = $mollie->payments->create(array(
      "amount"  => 10.00, 
      "description" => "My first API payment", 
      "redirectUrl" => "https://webshop.example.org/order/12345/", 
      "method"  => Mollie_API_Object_Method::IDEAL, 
     )); 
    } 

} 
+0

@George Это функция Wordpress http://codex.wordpress.org/Function_Reference/add_action – Robbert

+0

Ваш комментарий, кажется, утверждает, что вы обеспокоены тем, что $ mollie не является объектом. Это не ошибка. Ошибка заключается в том, что $ mollie-> payments не является объектом. Вы уверены, что это так? – kainaw

+0

@kainaw Да, я уверен, что это так. – Robbert

ответ

1

я ее решил с объектно-ориентированным образом:

class MyMollieGateway { 
    private $mollie; 

    function __construct() { 
     $this->mollie = new Mollie_API_Client; 
     $this->mollie->setApiKey("0000"); 

     add_action("init", array($this, "createPayment")); 
    } 

    function createPayment() { 
     if(isset($_POST['checkout_submit'])) { 
      $payment = $mollie->payments->create(array(
       "amount"  => 10.00, 
       "description" => "My first API payment", 
       "redirectUrl" => "https://webshop.example.org/order/12345/", 
       "method"  => Mollie_API_Object_Method::IDEAL, 
      )); 
     } 
    } 
} 

$_mollie = new MyMollieGateway; 
Смежные вопросы