Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Как получить значение переменной public за пределом класса
Форумы портала PHP.SU » » Объектно-ориентированное программирование » Как получить значение переменной public за пределом класса

Страниц (1): [1]
 

1. kov - 16 Июля, 2016 - 22:09:22 - перейти к сообщению
Уважаемые коллеги. Помогите, пожалуйста разобраться - почему у меня в коде не хранится текущее значение переменной $page в новом классе $new_class. Вот фрагмент кода:
<?php
class my_class extends WP_List_Table
{
public $page; // если написать $page=7, то $new_class будет хранить это значение !!!

function __construct()
{
parent::__construct(array(
'singular' => 'visitor',
'plural' => visitors',
));
}

function extra_tablenav( $which ) {
if ( $which == 'top' ){

echo 'Здесь выводится текущий № страницы---'.$this->page;
}

function prepare_items()
{
...
$this->page = $this->get_pagenum(); //текущий номер страницы в таблице реально меняется
}
}

function qwerty()
{
$new_class = new my_class;
var_dump(get_object_vars($new_class)); //а здесь выводит на экран: array(1) { ["page"]=> NULL }
}

p.s. Заранее спасибо.
2. caballero - 17 Июля, 2016 - 01:02:39 - перейти к сообщению
так оно туда не присваивается - хранится нечему
3. Fart - 27 Июля, 2016 - 22:12:33 - перейти к сообщению
1. ты сам написал, что public $page если примет значение, то ты увидишь их. по умолчанию public $page; - тоже самое public $page = null;
2. public function __construct(){} - ничего не выводит, ничего не сохраняет, public $page не вызывает

если создашь

CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. public function __construct()
  3. {
  4.      $this->page = 7;
  5. }
  6.  


и получишь значение

 

Powered by ExBB FM 1.0 RC1