Yii2实用基础学习笔记(三):Url助手与分页组件 [ 2.0 版本 ]
Url助手
- 一些方法
Test控制器下新建一个actionUrl操作用来测试:
//不带域名根目录
//echo Url::base();
//带域名的根目录
//echo Url::base(true);
//不带域名的首页
//echo Url::home();
//带域名的首页
//echo Url::home(true);
//当前url
//echo Url::current();
- Url::to()和Url::toRoute()
//Url::to和Url::toRoute都是生成Url,to的第一参数需要是数组,否则会被当做url
//第二个参数都是生成带域名的url
//没有传控制器默认为当前控制器
echo Url::to(['site/index'])."<br />";
echo Url::to(['site/index'],true)."<br />";
echo Url::to(['site/index', 'src' => 'ref1', '#' => 'name'])."<br />";
echo Url::to(['@app', 'id' => 100])."<br />";
echo '<hr />';
echo Url::toRoute(['site/index'])."<br />";
echo Url::toRoute(['site/index'],true)."<br />";
- Url::remember()记住当前url
分页组件
我们往article表中多插入一些数据:
INSERT INTO `yii2basic`.`article`(`title`,`desc`,`content`) VALUES('测试标题3','测试描述3','测试内容3');
INSERT INTO `yii2basic`.`article`(`title`,`desc`,`content`) VALUES('测试标题4','测试描述4','测试内容4');
INSERT INTO `yii2basic`.`article`(`title`,`desc`,`content`) VALUES('测试标题5','测试描述5','测试内容5');
INSERT INTO `yii2basic`.`article`(`title`,`desc`,`content`) VALUES('测试标题6','测试描述6','测试内容6');
INSERT INTO `yii2basic`.`article`(`title`,`desc`,`content`) VALUES('测试标题7','测试描述7','测试内容7');
INSERT INTO `yii2basic`.`article`(`title`,`desc`,`content`) VALUES('测试标题8','测试描述8','测试内容8');
INSERT INTO `yii2basic`.`article`(`title`,`desc`,`content`) VALUES('测试标题9','测试描述9','测试内容9');
INSERT INTO `yii2basic`.`article`(`title`,`desc`,`content`) VALUES('测试标题10','测试描述10','测试内容10');
INSERT INTO `yii2basic`.`article`(`title`,`desc`,`content`) VALUES('测试标题11','测试描述11','测试内容11');
INSERT INTO `yii2basic`.`article`(`title`,`desc`,`content`) VALUES('测试标题12','测试描述12','测试内容12');
INSERT INTO `yii2basic`.`article`(`title`,`desc`,`content`) VALUES('测试标题13','测试描述13','测试内容13');
INSERT INTO `yii2basic`.`article`(`title`,`desc`,`content`) VALUES('测试标题14','测试描述14','测试内容14');
INSERT INTO `yii2basic`.`article`(`title`,`desc`,`content`) VALUES('测试标题15','测试描述15','测试内容15');
在actionUrl操作中通过DB查询和\yii\data\Pagination组织分页信息:
//AR构建DB查询
$article = Article::find();
$articleCount = clone $article;
$pageSize = 5;
$pages = new \yii\data\Pagination([
'totalCount'=>$articleCount->count(),
'pageSize'=>$pageSize
]);
$models = $article->offset($pages->offset)
->limit($pages->limit)
->all();
return $this->render('url',[
'models' => $models,
'pages' => $pages
]);
在@app\views\test目录下新建url.php:
<?php
use yii\widgets\LinkPager;
?>
<section>
<?php
//获取数据
foreach($models as $model){
echo $model->title;
}
?>
</section>
<?=LinkPager::widget([
'pagination'=>$pages,
'options'=>[
'class' => 'pagination'
]
]);?>
得到结果:
菜鸟CK 北京
注册时间:2015-08-20
最后登录:2020-02-24
在线时长:24小时15分
最后登录:2020-02-24
在线时长:24小时15分
- 粉丝103
- 金钱1110
- 威望110
- 积分2450
共 4 条评论
拿来学习~
@panchaozhi 哈哈写的有点差
挺不错的。教程收藏了。
感谢收藏!
能否推荐一个进阶版的学一下,Yii2 官方的文档详细的简直是天书- -
额,我也是新手了,据说《Web Application Development with Yii2 and PHP》这本还可以,有的书都是Yii版本1的,还有就是github上边啊,社区之类的了。http://www.phpxs.com/post/yii2/这儿也有一些。
详细,易懂,适合新手,学习了。32个赞、