我试图让一个私有变量(极限)的值,但我得到了以下错误:PHP私有变量问题
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()__construct; 这也返回相同的错误。 –
是的,当然,因为双冒号运算符是一个令牌,允许访问类的静态,常量和重写属性或方法。你的类不是静态的,'$ limit'变量不是常量,所以你不能使用这个构造。 [PHP文档](http://php.net/manual/en/language.oop5.paamayim-nekudotayim.php) – pes502
那么从控制器调用其对象时,从不同函数访问私有变量的解决方案是什么? –