Я пытаюсь передать объект 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,
));
}
}
Я решил это объектно-ориентированным способом:
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;
Других решений пока нет …