Я пытаюсь получить значение частной переменной (предел), но я получаю следующее сообщение об ошибке:PHP Private Variable вопрос
Fatal error: Uncaught Error: Using $this when not in object context in /home/vagrant/Code/wp/wp-content/plugins/StorePress/app/library/Pagination.php on line 36
Мой класс:
class Pagination
{
private $limit = 0;
private $limit_start = 0;
private $total = 0;
/**
* Generate Pagination for Products
* @param $pagination
* @return string
*/
public function __constructor($pagination = null)
{
$this->limit = $pagination['limit'];
$this->lim_start = ($pagination['start']) ?: null;
$this->total = $pagination['total'];
}
public function generatePagination()
{
echo $this->limit;
}
Здесь я пытаюсь для печати «$ this-> limit», частной переменной, но не разрешено печатать значение, назначенное «__constructor».
В моем коде есть какие-то неправильные данные или есть ли у вас какие-либо решения, позволяющие получить это значение?
$ пагинация = Разбивка :: getPagination(); Это также возвращает ту же ошибку. –
Да, конечно, потому что оператор двойной толчки - это токен, который позволяет получить доступ к статическим, постоянным и переопределенным свойствам или методам класса. Ваш класс не является статичным, а переменная '$ limit' не является постоянной, поэтому вы не можете использовать эту конструкцию. [PHP doc] (http://php.net/manual/en/language.oop5.paamayim-nekudotayim.php) – pes502
Тогда каково решение для доступа к частной переменной из разных функций при вызове контроллера с его объектом? –