Вызов функции из другого файла

мне нужно getdata() функция от class-GetData.php позвонить в этом shortcode_function(),

require_once plugin_dir_path( __FILE__ ) . '/class-GetData.php';

add_shortcode('registration-plugin','shortcode_function');
function shortcode_function()
{
ob_start();
insert_data();
getdata();   //from GetData.php
return ob_get_clean();
}
?>

класса GetData.php

<?php

class GetData
{
public function getdata()
{
//something here
}
}

$getData = new GetData();

Но я получаю неопределенную ошибку функции:

Вызов неопределенной функции getdata ()

1

Решение

Ты звонишь Class Method вроде как нормальный вызов функции. внутренний Class Method необходимость this ключевое слово для вызова метода в классе. Если вы хотите позвонить Public Функция / метод извне класса, Вы должны создать Object,

Попробуй использовать —

function shortcode_function(){
ob_start();
insert_data();
$getData = new GetData(); #Create an Object
$getData->getdata();      #Call method using Object
return ob_get_clean();
}

Пример :

class GetData{
public function getdata() {
//something here
}

public function TestMethod(){
$this->getdata(); #Calling Function From Inner Class
}
}

$getData = new GetData(); #Creating Object
$getData->getdata();      #Calling Public Function from Outer Class

Вот объяснение Private,Public а также Protected

2

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

Используйте объект класса GetData для вызова функции, созданной в классе.

require_once plugin_dir_path( __FILE__ ) . '/class-GetData.php';

add_shortcode('registration-plugin','shortcode_function');
function shortcode_function()
{
ob_start();
insert_data();
$getData = new GetData(); //Create Getdata object
$getData->getdata(); //call function using the object
return ob_get_clean();
}

класса GetData.php

class GetData
{
public function getdata()
{
//something here
}
}
1

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector