クラス内の属性の設定については、値を動的に計算して他の属性に割り当てます
まずはコードを見てください:
<br />
class test(){<br />
public $mPageNo = 1;<br />
public $mPageSize = 20;<br />
private $mPageOffset = 0;<br />
}<br />
ログイン後にコピー
$mPageNo または $mPageSize に値を割り当てるときに、$mPageOffset に ($mPageNo-1)*$mPageSize の値が自動的に割り当てられることを認識する方法を教えてください。
php
クラス
-----解決策---------
クラステスト {
$ mpage_no
$ mpage_size
プライベート $mPageOffset = 0;
関数 __set($property, $value) {
$this->{$property} = $value; // __set は値を自動的に割り当てません
if ($property=='mPage_no'
-----解決策---------
$ property =='mPage_Size') {
$ this-&gt; mpageoffset =(($ this-&gt; mpage_no)-1) *($ this-&gt; mpage_size);
}
関数 __get($property) {
return $this->$property;
}
}
$t = 新しいテスト();
// $t->page_no = 2; 変数名が間違っているため、大文字と小文字を区別する必要があります
$t->mPage_no = 2;
print_r($t->mPageOffset);