Передать объект через функцию

0

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

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

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

$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 codex.wordpress.org/Function_Reference/add_action
  • 0
    Похоже, ваш комментарий утверждает, что вы обеспокоены тем, что $ mollie не является объектом. Это не ошибка. Ошибка в том, что $ mollie-> платежей не является объектом. Вы уверены, что это так?
Показать ещё 3 комментария
Теги:
object
function
parameters

1 ответ

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;

Ещё вопросы

Сообщество Overcoder
Наверх
Меню