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

Я пытаюсь передать объект 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

Решение

Я решил это объектно-ориентированным способом:

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;
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]