学好事件,先学学观察者模式

2017-05-18
阅读 4 分钟
5k
Yii2的事件采用了“观察者模式”,先了解观察者,再学事件就容易了。 它是什么 首先不要被名字所吓倒,往下看,它真的很简单。 先来一个比较高大上的定义:观察者模式定义了一系列对象之间的一对多关系,当一个对象改变状态后,其他依赖者都会收到通知。 看明白了么? 如果没明白我们再来一个生活一点的:观察者模式就是订...

10分钟教你理解Yii的别名机制 - set&get

2017-05-07
阅读 5 分钟
4.7k
这一章我们继续寻找它们。 老规矩先来一个目录 setAlias函数 getAlias函数 setAlias函数 通过对上一篇的学习,我们知道在一个yii application对象生成的过程中就已经通过setAlias方法对预定义的别名进行了初始化工作,在以后的程序代码中,可以随时使用它们,那么setAlias到底将这些别名放到了哪里那? 我们现在来揭开se...

10分钟教你理解Yii的别名机制 - 寻找它们

2017-04-28
阅读 3 分钟
3.8k
因为开发需要,有时候我们需要将一些路径或URL保存起来,避免直接写到代码中,于是我们定义了一个类似于常量的变量,在全局均可以使用,这个变量就叫做别名,当然你也可以在配置文件中进行设置。

无难度教你学会Yii2的资源管理(Asset Manager) - 发布资源

2017-04-12
阅读 2 分钟
5.4k
我们程序所使用的css / js / img 都叫做资源,如何有效的管理是个问题,AssetBundle(资源类)就是管理这个事情的。 我们建立一系列继承于AssetBundle的资源类,并且把他们放到@appassets下,当某个布局或视图要使用的时候,注册一下就可以了。 先来偷窥下AssetBundle的样子,建立一个yii程序后打开@appassetsAppAsset文件...

一篇为你讲透Yii2的widget这货

2017-04-12
阅读 4 分钟
4.9k
ActiveForm、Breadcrumbs、DetailView、LinkPager、ListView 等等,这些内置的挂件让我们开发变的如此简单。

5分钟教你配置Yii2程序支持虚拟主机 - Yii2基础版

2017-04-09
阅读 1 分钟
3.2k
这个世界上除了服务器,还有一个东西叫虚拟主机,本文讲解yii2程序如何部署到虚拟主机上~ 本系列分两节 基础版 高级版 第一节 Begin... 基础版 其实不改动也可以,但是你的网址要总带一个尾巴,类似于[链接]

一次由北哥QQ群成员提问引发的技术分享 - 说说yii2的emulatePrepare=true

2017-04-08
阅读 2 分钟
3.6k
很多同学都知道这其实是一个PDO的属性,代表PDO::ATTR_EMULATE_PREPARES - 是否启用预处理,我们yii默认为null,表示默认PDO对该属性当前的设置,不做处理。当然你可以像上面配置文件一样人为的指定该值为true / false。

北哥大话Yii2缓存机制 - DbCache

2017-04-07
阅读 1 分钟
2.7k
数据库缓存并不麻烦,基本用法依然符合yii2缓存的统一接口,具体方法可以在 [链接] 里查看。 如果要启动数据库缓存,必须要有一个数据库及数据表,这些可以通过cache的配置文件完成 {代码...} 参数说明 db参数如果不设置会使用yii默认的db.php内的配置文件 cacheTable表需要提前在数据库内建立 cacheTable的初始化脚本 {...

北哥大话Yii2缓存机制 - 缓存依赖

2017-04-02
阅读 3 分钟
4.2k
我们都知道,yii2的缓存是支持依赖的,就是我们设置的缓存是否失效除了过期时间还决定于它所依赖的东东是否变化。 用好依赖将大大提高我们使用缓存的效果,本节讲解yii2缓存的5种依赖方式。 还是先列某 yiicachingDbDependency yiicachingExpressionDependency yiicachingFileDependency yiicachingTagDependency yiicac...

北哥大话Yii2缓存机制 - File缓存

2017-03-27
阅读 4 分钟
5.6k
的确如大家所说,缓存从表现层看就是一个set(放数据),然后再一个get(拿数据),但是请记住,这样是不够的,如果你不了解每个缓存的实现原理、存储特点等等,你是无法使用对场景的,什么时候用File缓存、什么时候用DB缓存、什么时候用Memcache缓存,这些才是我们要学的。

10分钟教你学会Yii2手动安装第三方扩展

2017-03-24
阅读 3 分钟
6.3k
我们爱composer,但是总有一些我们需要的扩展还没有加入到composer大家庭,那么我们的大Yii2如何爱他们那? 对于没有进入composer的扩展,请通通将他们下载到vendor内。通通的。 还是按照目录来 添加不在composer,但是有自己的autoloader的扩展 添加不在composer,也没有autoloader的扩展 添加在composer里的扩展 啥都...

你不知道的Composer加载方式

2017-03-22
阅读 2 分钟
5.8k
我们以Yii2为例,当我们通过Composer生成了一个Yii2程序后,会在vendor下建立一个autoload.php文件,它负责帮我们自动加载vendor内的各种库(yii2核心库也在vendor内,你懂得!)。

在MySQL里,有个和in一样的东东叫做exists,但是它比in更牛叉,你会么?

2017-03-15
阅读 3 分钟
18.6k
我们在学习Yii2的时候,一定接触过这样的where输入 {代码...} 是的,这是MYSQL的exists关键词,今天我们就来说说这个exist,为了给大家更清楚的讲解,先给大家说下本文目录: 什么是exists exists和in的区别和使用场景 使用Yii2的Query Builder实现一个exists语句 要自己看哈。 提前准备 为了大家学习方便,北哥在这里面...

做Yii2开发的,有这样一张表就足够了~

2017-03-13
阅读 1 分钟
2.8k
按照大类分为若干个区域,每个区域是这个类的最常用方法。而且而且而且,它还在github上开源了,你有好的建议可以去github上提建议,好的我都会考虑加到速查表里。

Yii2中你可能忽略但很有用的两个方法batch&each

2017-03-13
阅读 2 分钟
12.5k
我们的数据库常常都是很庞大的,一次查询的结果集也很大,这样很浪费内存,为了降低内存的使用率,我们可以使用yii2的batch和each方法。

Yii2的where()和having()你真的会用么?

2017-03-09
阅读 2 分钟
5.4k
其实我们说yii2的WHERE和HAVING区别,就是在说mysql中WHERE和HAVING的区别。这两个货都能完成数据的筛选功能,一般来说我们喜欢将HAVING和GROUP BY搭配使用。

6.14分钟《90个小时玩转Yii2开发》对于DAO在数据库查询上的麻烦,强大的Query Builder来帮你解决!阿北开讲。

2017-03-07
阅读 1 分钟
1.4k
Query Builder就像C语言一样,它在DAO上面继续封装,解决了DAO需要写入大量原始SQL语句的问题,通过一组很人类的方法就可以完成你对数据库的查询需求。

6.47分钟《90个小时玩转Yii2开发》教你如何使用Query Builder中的select和from方法

2017-03-07
阅读 1 分钟
2k
上一节给大家说了为何使用query builder,它的优点及解决的问题。 这节为大家讲解其中的select和from,以及这两个函数一些要注意的地方,希望对你有所帮助。 点击直接查看视频

L 让yii2应用支持风骚的emoji小表情~

2017-02-21
阅读 1 分钟
5.1k
哎呀妈,北哥兄弟连这就开始了~不知道从什么时候开始,一大波emoji占领了移动端表情框。 先科普 emoji是一个小日本儿搞出来的 我大yii2怎么能错过她 方法一 MySQL入手贼简单 首先确保你的MySQL要大于等于5.5.3,将数据表的相应字段设置为utf8mb4,该类型可以存放emoji。 (细心的哥们是否有注意到当MySQL版本>=5.5.3...

[yii2小心肝儿]GridView - 睡衣篇

2017-02-12
阅读 5 分钟
2.9k
GridView-睡衣篇 书接上回,这节我们将扒掉GridView的睡衣,越来越少了~???? 上回我兴高采烈的拿着修改后的结果给客户看,结果客户看后露出了囧字脸,说了句:"小北啊,再改改吧"。 上回结果 这次客户说了这些话 为何没有会员的时候显示"No results found.",应该显示"当前没有会员"啊,对对,字体是红色,加粗,必须加粗...

[yii2小心肝儿]GridView - 大衣篇

2017-02-08
阅读 5 分钟
3.3k
增删改查,数据库操作的四大法宝中最常用的就是查了,一条记录、几条记录、一大堆记录。对于yii2而言,尤其后台,GridView是最常用且好用的数据列表部件,今天就说一说。

Yii2之Url类全面解密 有你不知道的~

2017-02-07
阅读 3 分钟
3.5k
以前开发项目的时候,我们习惯于把网站网址做一个配置参数保存,善于用yii2的Url各种方法,无形中让你的代码更简单、更灵活、更规范。下面就一一说明一下。