最近发现一个网站适用于jetBrains家族的各种常用编辑器IDEA, Webstorm, PyCharm, RubyMine, PhpStorm,AppCode 等,配色方案很多大家可以自己选喜欢的下载导入,导入方法就是菜单的fileimport settings选取下载的jar就行了简单吧随意下载去吧:http://color-themes.com [继续阅读]
在实际项目中即时消息的展示必不可少,比如站内信,在线客服等,一般这类实现由两种方式,一种是采用ajax轮询的方式拉取,还有一种就是采用websocket主推推送的方式。其中主动推送可以节约服务器资源,有效减少无效的访问和查询,所以越来越被大家所推崇。接下来我们就讲讲如何采用websocket的方式完成一次消息推送。在php中推送的框架很多,比较出名和好用的应该是swoole和workerman。其中swoole是php的c扩展,workerman纯php写的socket处理框架。有个区别就是swoole没有windows版本,而workerman有windows版本,这样我们就可以在win... [继续阅读]
随着微信的普及,越来越多的网站开始支持微信扫描二维码登录的方式,大大降低了用户的使用注册成本,提高了用户体验。下面我们就来讲讲如何使用微信的扫一扫功能实现用户登录。首先,我们必须有微信公众账号,并且拥有oauth授权接口的权限,如果没有的话,还有个办法就是申请一个微信公众号的测试账号,完成开发功能后再切换到正式账号上使用。具体步骤参考微信公众平台及开发文档。我们这里着重讲解下YII2下的开发。整个登陆的流程如下所示:第一步,用户访问网站登录页面,页面提供二维码。这里我们需要使用php生成二维码供用户使用... [继续阅读]
接着上一篇《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": { ... [继续阅读]
博客中评论必不可少,今天我们就给大家介绍一款非常实用的社会化评论插件——多说评论。官网是http://duoshuo.com/首先登陆多说,然后创建站点完成后多说会自动跳转到代码位置,我们只需复制他提供的代码修改相关参数,放入我们的博客页面就可以完成啦!-- 多说评论框 start -- div class="ds-thread" data-thread-key="请将此处替换成文章在你的站点中的ID" data-title="请替换成文章的标题" data-url="请替换成文章的网址"/div !-- 多说评论框 end -- !-- 多说公共JS代码 start (一个网页只需插入一次) -- script type="text/ja... [继续阅读]
缓存的使用可以明显改善用户访问的体验,加快用户访问的速度,同时也可以有效降低服务器的负担,提升服务器的吞吐能力。一般来讲,缓存可以分为几个层次。一个是前端的各种html、css、js的缓存,这些静态资源一般我们采用cdn来解决。二是服务器端的缓存,这部分缓存实际是是对数据访问的缓存。对于那些不经常发生变动的或者访问频率较高的数据进行缓存处理,是一种十分经济有效的提升用户体验的方式。接下来我们就讲讲在yii2中如何使用数据缓存。YII2中原生为我们提供了缓存组建,用户可以自行配制不同的缓存存储方式。 yii\caching\A... [继续阅读]
小部件是Yii的一个非常实用的功能,各类第三方小部件可以使得整个开发变得非常的愉快,那么如果想自己开发一个小部件我们应该怎么做呢,接下来我们就讲讲如何自定义小部件。我们以博客的侧边栏为例进行讲解。1.首先在common的widgets中创建SideBarWidget文件夹用来存放所有widget的各种文件。2.创建一个SideBar类继承自yii\base\Widget。类中有两个重要的方法一个是init() 一个是run()相信不用我说大家也知道这两个方法是干嘛的吧。3.创建Widget视图。一般来讲Widget可以使用两种方式展示内容。一种是直接在用到的view里面写,形式如下... [继续阅读]
本篇我们继续博客后台功能的设计,既然是博客那必不可少的需要所见即所得wysiwyg编辑器。常用的有ckeditor、ueditor、kindeditor等等。最近发现了一个redactor非常好用,而且可以和yii2无缝整合,简直不能喜欢更多,所以接下来我们讲讲如何在项目中使用redactor。官方git是https://github.com/yiidoc/yii2-redactor里面也有官方的英文版本的安装步骤可以供大家参考。1.使用composer安装composer require --prefer-dist yiidoc/yii2-redactor "*" 2.在backend/config/main中修改添加redactor模块'modules' = [ 'redactor' = '... [继续阅读]
YII2中原生提供了验证码模块使用非常简单。我们以登陆时增加验证码为例:首先在site的controller里面新加一个action用户访问验证码我们命名为captchapublic function actions() { return [ 'error' = [ 'class' = 'yii\web\ErrorAction', ], 'captcha' = [ 'class' = 'yii\captcha\CaptchaAction', 'maxLength'=4, 'minLength'=4, ], ]; } 同时我们要放开权限让未登录的用户... [继续阅读]
由于高级模板相对基础模板较为复杂,目录结构如下所示common config/ 公共配置将作用于前台和后台 mail/ 发送邮件的视图模板文件 models/ 公共model类 tests/ 测试 console config/ console配置 controllers/ console控制器(commands) migrations/ 数据库migration文件 models/ console-specific model runtime/ 运行时生成的文件 backend assets/ ... [继续阅读]