Я пишу свой собственный класс PHP, и у меня есть несколько функций в этом классе. Что-то вроде этого:
class JSON_API_Hello_Controller {
public function test_cat(){
global $json_api;
$posts = $json_api->introspector->get_posts(array( 'cat' => 3));
return $this->posts_object_result_bycat($posts);
}
public function test_cat1() {
global $json_api;
$posts = $json_api->introspector->get_posts(array( 'cat' => 2));
return $this->posts_object_result_bycat($posts);
}
protected function posts_object_result_bycat($posts) {
global $wp_query;
return array(
'count' => count($posts),
'pages' => (int) $wp_query->max_num_pages,
'posts' => $posts
);
}
public function mix_cat(){
$first_cat = $this->test_cat();
$second_cat = $this->test_cat1();
print_r($second_cat);
}
}
Я хочу позвонить test_cat()
а также test_cat1()
функции в другой функции, как mix_cat()
внутри того же класса. Каждый раз, это дает результат test_cat()
а также test_cat1()
как Null
, Как я могу позвонить testcat()
& test_cat1()
функции в mix_cat()
?
Ваш код, вызывающий функцию, выглядит хорошо ($second_cat = $this->test_cat1(); print_r($second_cat);
).
Если функция возвращает значение при вызове извне класса, то должна быть какая-то внешняя переменная (переменные), которую мы здесь не видим. Возможно, мы захотим увидеть больше кода, если это так.
В качестве примечания вы можете объединить функции test_cat () и test_cat1 (), передав параметр для 2, 3 и т. Д. Это будет выглядеть примерно так:
public function test_cat1($number) {
global $json_api;
$posts = $json_api->introspector->get_posts(array('cat' => $number));
return $this->posts_object_result_bycat($posts);
}
Других решений пока нет …