22日 2016年06月
By Leo

[置顶]Yii2博客实战教程

Yii 是一个高性能,基于组件的 PHP 框架,用于快速开发现代 Web 应用程序。名字 Yii (读作 易)在中文里有“极致简单与不断演变”两重含义,也可看作 Yes It Is! 的缩写。它是一个通用的 Web 编程框架,即可以用于开发各种用 PHP 构建的 Web 应用。因为基于组件的框架结构和设计精巧的缓存支持,它特别适合开发大型应用,如门户网站、社区、内容管理系统(CMS)、电子商务项目和 RESTful Web 服务等。 接下来我将通过一个系列教材,为大家介绍Yii开发的相关知识点,具体目录如下:Yii2博客实战系列教程目录 Yii2博客实战教程——框架的... [继续阅读]

2660 浏览 评论
27日 2016年12月
By Leo

YII2 GridView的Pjax 手动触发与不触发

在Yii2中GridView可以使用pjax方式刷新,可以很好的提升用户体验,简化程序开发人员自己ajax刷新表格的工作复杂程度。可是有些时候,我们需要手动的触发表格刷新,或者有些链接我们在点击的时候,不希望触发pjax,这个需要怎么实现呢,接下来我们就讲下在Yii2中如何实现。首先如果我们有链接不想触发pjax,比如一些操作按钮,直接跳转到其他页面 那么只需要在链接上加上以下标签就可以data-pjax="0" a class="btn btn-success" title="添加" data-pjax="0" href="create"i class="glyphicon glyphicon-plus"/i/a 上面就是一个添加新... [继续阅读]

1150 浏览 评论 YII2 , Pjax
23日 2016年12月
By Leo

Yii2 可编辑列直接修改表格数据

很多时候,我们希望在curd的index页面直接修改一些数据,而不是进入到编辑页面修改保存。这里给大家提供一种使用kartik-v扩展的实现方法。 首先使用composer安装一些必要扩展 "kartik-v/yii2-grid": "@dev", "kartik-v/yii2-editable": "1.7.x-dev", "kartik-v/yii2-widgets": "3.4.0.x-dev", "kartik-v/yii2-date-range": "1.6.x-dev" 然后再我们的views的index.php里面用它的gridview替换系统的gridview use kartik\grid\GridView; 修改其中需要编辑的列(比如文章标题title) [ 'cl... [继续阅读]

1350 浏览 评论 YII2
19日 2016年12月
By Leo

使用composer update Yii依赖的各种问题

Tip1:如果能够翻墙,尽量翻墙,因为有很多包是github上面download下来的,翻墙会快很多也不会有莫名其妙的错误。Tip2:使用国内镜像会稍微缓解下,但是因为download包都是从git上面下载,所以也不会快很多。参考这个http://pkg.phpcomposer.com/安装composer config -g repo.packagist composer https://packagist.phpcomposer.comTip3:更新composer到最新版本composer self-updateTip4:先全局安装依赖fxp/composer-asset-plugincomposer global require "fxp/composer-asset-plugin:~1.1.1"Tip5:LNMP环境下的奇怪问题,从问题上看... [继续阅读]

717 浏览 评论
30日 2016年09月
By Leo

Yii2博客实战教程——基于workerman的pushserver实现消息推送

在实际项目中即时消息的展示必不可少,比如站内信,在线客服等,一般这类实现由两种方式,一种是采用ajax轮询的方式拉取,还有一种就是采用websocket主推推送的方式。其中主动推送可以节约服务器资源,有效减少无效的访问和查询,所以越来越被大家所推崇。接下来我们就讲讲如何采用websocket的方式完成一次消息推送。在php中推送的框架很多,比较出名和好用的应该是swoole和workerman。其中swoole是php的c扩展,workerman纯php写的socket处理框架。有个区别就是swoole没有windows版本,而workerman有windows版本,这样我们就可以在win... [继续阅读]

4994 浏览 评论
29日 2016年09月
By Leo

Yii2博客实战教程——微信扫码登陆的实现

随着微信的普及,越来越多的网站开始支持微信扫描二维码登录的方式,大大降低了用户的使用注册成本,提高了用户体验。下面我们就来讲讲如何使用微信的扫一扫功能实现用户登录。首先,我们必须有微信公众账号,并且拥有oauth授权接口的权限,如果没有的话,还有个办法就是申请一个微信公众号的测试账号,完成开发功能后再切换到正式账号上使用。具体步骤参考微信公众平台及开发文档。我们这里着重讲解下YII2下的开发。整个登陆的流程如下所示:第一步,用户访问网站登录页面,页面提供二维码。这里我们需要使用php生成二维码供用户使用... [继续阅读]

2101 浏览 评论 YII2 , 微信 , 扫码登陆
29日 2016年09月
By Leo

Yii2博客实战教程——用crontab和congsole控制器同步多说评论

接着上一篇《Yii2博客实战教程——多说评论的整合》,我们发现一个问题,就是如果采用第三方的评论插件,博客列表页面的评论数量如何获取呢?不要着急,接下来我们就一步步教大家如何同步多少的评论数据。 1.首先查看多说提供的api文档,我们发现它提供了获取文章的评论数的api具体请看http://dev.duoshuo.com/docs/50615732a834c63c56004257 ,我们可以测试下直接在浏览器中访问api地址 http://api.duoshuo.com/threads/counts.json?short_name=linhongxuthreads=201 这样就会返回你如下的json信息 { "response": { "201": { ... [继续阅读]

967 浏览 评论 YII2 , crontab , 定时任务
29日 2016年09月
By Leo

Yii2博客实战教程——多说评论的整合

博客中评论必不可少,今天我们就给大家介绍一款非常实用的社会化评论插件——多说评论。官网是http://duoshuo.com/首先登陆多说,然后创建站点完成后多说会自动跳转到代码位置,我们只需复制他提供的代码修改相关参数,放入我们的博客页面就可以完成啦!-- 多说评论框 start -- div class="ds-thread" data-thread-key="请将此处替换成文章在你的站点中的ID" data-title="请替换成文章的标题" data-url="请替换成文章的网址"/div !-- 多说评论框 end -- !-- 多说公共JS代码 start (一个网页只需插入一次) -- script type="text/ja... [继续阅读]

801 浏览 评论 YII2 , 多说评论
29日 2016年09月
By Leo

Yii2博客实战教程——使用缓存减少数据库访问的压力

缓存的使用可以明显改善用户访问的体验,加快用户访问的速度,同时也可以有效降低服务器的负担,提升服务器的吞吐能力。一般来讲,缓存可以分为几个层次。一个是前端的各种html、css、js的缓存,这些静态资源一般我们采用cdn来解决。二是服务器端的缓存,这部分缓存实际是是对数据访问的缓存。对于那些不经常发生变动的或者访问频率较高的数据进行缓存处理,是一种十分经济有效的提升用户体验的方式。接下来我们就讲讲在yii2中如何使用数据缓存。YII2中原生为我们提供了缓存组建,用户可以自行配制不同的缓存存储方式。 yii\caching\A... [继续阅读]

1543 浏览 评论 YII2 , 缓存
28日 2016年09月
By Leo

Yii2博客实战教程——前台页面的整合(如何自定义widget小部件)

小部件是Yii的一个非常实用的功能,各类第三方小部件可以使得整个开发变得非常的愉快,那么如果想自己开发一个小部件我们应该怎么做呢,接下来我们就讲讲如何自定义小部件。我们以博客的侧边栏为例进行讲解。1.首先在common的widgets中创建SideBarWidget文件夹用来存放所有widget的各种文件。2.创建一个SideBar类继承自yii\base\Widget。类中有两个重要的方法一个是init() 一个是run()相信不用我说大家也知道这两个方法是干嘛的吧。3.创建Widget视图。一般来讲Widget可以使用两种方式展示内容。一种是直接在用到的view里面写,形式如下... [继续阅读]

832 浏览 评论 YII2 , widget小部件