以为自己 的正则很牛了,其实还是很菜,今天遇到一个问题,用\b来操作很简单,如果不用的话完成起来挺麻烦的,不过还好有经高人指点了一下,还是很轻松的搞定了。还要多看看教程,手册之类的。所以我把javascript手册里面的正则教程拿出来了,如果在要找东西的时候,可以方便一点
一 ,特殊字符
以为自己 的正则很牛了,其实还是很菜,今天遇到一个问题,用\b来操作很简单,如果不用的话完成起来挺麻烦的,不过还好有经高人指点了一下,还是很轻松的搞定了。还要多看看教程,手册之类的。所以我把javascript手册里面的正则教程拿出来了,如果在要找东西的时候,可以方便一点
一 ,特殊字符
今天在看代码的时候,无意思中发现了__toString()这个方法,从表面意思上看,是类型转换的方法,但是加上二个下"_"后,是不是根__get()这样的方法,用法一样呢?我很想知道php里面,像带有二个"_"的方法有多少个,下面就我发现的带二个"_"的方法,写了一个小例子,来说明__call(),__get(),__set(),__construct(),__isset(),__destruct()等的用法。看例子:
刚开始学习php的时候,看底层东西就看到过implements这类的东西,当时要学的东西好多,也没有特别多的时间来学习接口的东西。最近看代码的时候,无意中又看到了这个东西,花了点时间研究了一下。
总体感觉,他主要对类名,类所拥有的方法,以及所传参数起约束和规范做用,感觉根php abstract 抽象类又有点像。如果做大项目的话,估计可以启点作用。不过如果是大项目的话,开始写代码前,肯定会定一些写代码的规则,类的名子怎么起,方法名怎么起,怎么继承,都会有所说明,个人觉得这个implement没有多大用处。下面是学习的时候,弄的一些例子。
一,为什么要用smarty进行打包
apache中也有给js,css这样的静态文件进行打包压缩的模块,但是本文所说的不是以这种方式进行的打包,而是和smarty结合的方式来把网站中的js,css文件进行打包。
为什么要进行打包呢,主要目的是为了合理的管理自己的代码。现在有好多网站,你查看一下网站的源码的话,你会发现网站的头部有大量的JS文件和CSS文件,网站的尾部也有可能有大量的JS文件。以webqq为例吧:
一,什么是json
json是一种数据结构,易于人阅读和编写,同时也易于机器解析和生成。
json建构两种结构:
1,“名称/值”成对的集合,不同的语言中,它被理解为对象(object),纪录(record),结构(struct),字典(dictionary),哈希表(hash table),有键列表(keyed list),或者关联数组 (associative array)。
2,值的有序列表(An ordered list of values)。在大部分语言中,它被理解为数组(array)。
一,smarty插件介绍
smarty的插件放在/smarty/libs/plugins下面,它为程序的开发提供了很大的方便,例如:{$yesterday|date_format:"%H:%M:%S"}smarty自带的日期格式化插件,对变量$yesterday进行格式化。在我们的php文件中,并不需要对date_format进行处理,我们只要拿来用就好了。
二,smarty插件命名规则
1,插件文件名命名规则
以前我写过一篇关于web集群时,session同步怎么解决的文章。博文名称是web集群时session同步的3种方法,个人觉得用memcache来同步session是最好的,下面是我的设置过程
1,模拟web集群
我启动了二个memcached进程,分别模拟二台服务器
/usr/local/bin/memcached -d -m 20 -u zhangy -p 12000 -P ./memcached.pid
/usr/local/bin/memcached -d -m 20 -u zhangy -p 13000 -P ./mem.pid
一,为什么要装memcached扩展
memcached的1.2.4及以上增加了CAS(Check and Set)协议,对于同一key的多进行程的并发处理问题。这种情况其实根数据库很像,如果同时有几个进程对同一个表的同一数据进行更新的话,那会不会打架呢,哈哈。数据库里面可以锁定整张表,也可以锁定表里面一 行的功能,其实memcached加入的CAS根这个差不多。
php的扩展memcache,不支持cas,所以我们要装memcached扩展,memcached扩展是基于libmemcached,所以要先安装libmemcached
在做了web集群后,你肯定会首先考虑session同步问题,因为通过负载均衡后,同一个IP访问同一个页面会被分配到不同的服务器上,如果session不同步的话,一个登录用户,一会是登录状态,一会又不是登录状态。所以本文就根据这种情况给出三种不同的方法来解决这个问题:
1,capture标签
capture的中文意思是抓取,它的作用是抓取模板输出的数据,当我们需要它的时候,调用它,以得到抓取数据的目的。例子:
{capture name=test} <img src="testimg.jpg"> {/capture} <div class="image"> {$smarty.capture.test} </div>