<code>if(isset($_COOKIE['gridShowRows'])){
Yii::$container->set('yii\data\BaseDataProvider',[
'pagination'=>[
'pageSize'=>$_COOKIE['gridShowRows']
]
]);
}</code>yii\data\basedataprovider有一个setpagination的方法。
<code>public function setPagination($value)
{
if (is_array($value)) {
$config = ['class' => Pagination::className()];
if ($this->id !== null) {
$config['pageParam'] = $this->id . '-page';
$config['pageSizeParam'] = $this->id . '-per-page';
}
$this->_pagination = Yii::createObject(array_merge($config, $value));
} elseif ($value instanceof Pagination || $value === false) {
$this->_pagination = $value;
} else {
throw new InvalidParamException('Only Pagination instance, configuration array or false is allowed.');
}
}</code>设置后不起效果。
但是下面的设置却又效果:
<code>if(isset($_COOKIE['gridShowRows'])){
Yii::$container->set('yii\data\Pagination',[
'pageSize'=>$_COOKIE['gridShowRows']
]);
}</code>yii\data\Pagination有一个setPageSize的方法:
<code>/**
* @param integer $value the number of items per page.
* @param boolean $validatePageSize whether to validate page size.
*/
public function setPageSize($value, $validatePageSize = false)
{
if ($value === null) {
$this->_pageSize = null;
} else {
$value = (int) $value;
if ($validatePageSize && isset($this->pageSizeLimit[0], $this->pageSizeLimit[1]) && count($this->pageSizeLimit) === 2) {
if ($value < $this->pageSizeLimit[0]) {
$value = $this->pageSizeLimit[0];
} elseif ($value > $this->pageSizeLimit[1]) {
$value = $this->pageSizeLimit[1];
}
}
$this->_pageSize = $value;
}
}</code><code>if(isset($_COOKIE['gridShowRows'])){
Yii::$container->set('yii\data\BaseDataProvider',[
'pagination'=>[
'pageSize'=>$_COOKIE['gridShowRows']
]
]);
}</code>yii\data\basedataprovider有一个setpagination的方法。
<code>public function setPagination($value)
{
if (is_array($value)) {
$config = ['class' => Pagination::className()];
if ($this->id !== null) {
$config['pageParam'] = $this->id . '-page';
$config['pageSizeParam'] = $this->id . '-per-page';
}
$this->_pagination = Yii::createObject(array_merge($config, $value));
} elseif ($value instanceof Pagination || $value === false) {
$this->_pagination = $value;
} else {
throw new InvalidParamException('Only Pagination instance, configuration array or false is allowed.');
}
}</code>设置后不起效果。
但是下面的设置却又效果:
<code>if(isset($_COOKIE['gridShowRows'])){
Yii::$container->set('yii\data\Pagination',[
'pageSize'=>$_COOKIE['gridShowRows']
]);
}</code>yii\data\Pagination有一个setPageSize的方法:
<code>/**
* @param integer $value the number of items per page.
* @param boolean $validatePageSize whether to validate page size.
*/
public function setPageSize($value, $validatePageSize = false)
{
if ($value === null) {
$this->_pageSize = null;
} else {
$value = (int) $value;
if ($validatePageSize && isset($this->pageSizeLimit[0], $this->pageSizeLimit[1]) && count($this->pageSizeLimit) === 2) {
if ($value < $this->pageSizeLimit[0]) {
$value = $this->pageSizeLimit[0];
} elseif ($value > $this->pageSizeLimit[1]) {
$value = $this->pageSizeLimit[1];
}
}
$this->_pageSize = $value;
}
}</code>
检查传入的数组中的参数名。
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号