最近的文章列表

ThinkPHP缓存方法F()和S()的区别(支持有效期,动态缓存方法)

thinkPHP的F方法只能用于缓存简单数据类型,不支持有效期和缓存对象。S()缓存方法支持有效期,又称动态缓存方法,使用示例如下:

代码如下:
// 使用data标识缓存$Data数据
S('data',$Data);  //前面的是缓存标示,后面的是缓存的数据
2014/7/31 Comments:
详解PHPAnalysis中文分词类(划词解释等应用)

PHPAnalysis是目前广泛使用的中文分词类,使用反向匹配模式分词,因此兼容编码更广泛,现将其变量与常用函数详解如下:

一、比较重要的成员变量

$resultType   = 1        生成的分词结果数据类型(1 为全部, 2为 词典词汇及单个中日韩简繁字符及英文, 3 为词典词汇及英文)

2014/7/31 Comments:
PHP进程之间实现共享内存的方法(单台服务器的情况下)

开发人员要想使php进程实现共享内存的读写,首先就要支持IPC函数,即php编译安装时指定:--enable-shmop  与--enable-sysvsem 两个选项

IPC (Inter-process communication) 是一个Unix标准机制,它提供了使得在同一台主机不同进程之间可以互相的方法。基本的IPC处理机制有3种:它们分别是共享内存、信号量和消息队列。本文中我们主要讨论共享内存和信号量的使用。

在不同的处理进程之间使用共享内存是一个实现不同进程之间相互的好方法。如果你在一个进程中向所共享的内存写入一段信息,那么所有其他的进程也可以看到这段被写入的数据。非常方便。在PHP中有了共享内

2014/7/31 Comments:
简述为什么PHP的静态成员函数效率更高?

很多php开发人员都知道, 使用类的静态成员函数效率比类的普通成员函数的要高,本文从应用层次分析这个问题

下面是一个范例:

代码如下:
<?php // php静态方法测试
header('Content-Type: text/html; charset=utf-8');
class xclass{
     public static $var1 = 'camnprCamnprcamnprCamnprCamnpr';
2014/7/30 Comments:
php的三种判断数组元素中是否存在某个字符串的方法(in_array, array_key_exists,array_search)

方法一:采用in_array(value,array,type)

type 可选。如果设置该参数为 true,则检查搜索的数据与数组的值的类型是否相同。

代码如下:

$arr = array('可以','如何','方法','知道','沒有','不要');
2014/7/30 Comments:
用刷流量的软件会被K站吗?

目前网络上流传很多刷流量的软件,说很好,很安全,其实不然,很多软件你安装后,会有后门的(QQ号,淘宝账号等被盗),下边的这个仁兄分享了他的刷流量被K站的经历:

大家好,大年刚过来,网站十多天没有做相应的优化工作,排名也不怎么理想了。
根据百度的算法,3天内你的百度搜索流量比第一名多,你就会排第一的规则,我想用流量精灵试一下水。我查阅了不少网友留言和咨询的结果,以及流量精灵官网的关于使用流量精灵会不会被百度K的相关说明,结果没有发现有说用会被K的贴子。这样,加强了我大胆一试的想法。

2014/7/29 Comments:
PHP操作DOMDocument和DOMXPath示例代码 代替JS玩转DOM树的思路

最近有一个需求,我需要把一个导航页的数据整理好写入数据库。一个比较直观的方法是对html文件进行分析,通用的方法是用php的正则表达式来匹配。但是这样做开发和维护都很困难,代码可读性非常差。

导航页的数据都是规则的排列在DOM树当中的,用JS可以用几个循环轻松的对其进行操作,而且JS需要依赖浏览器,操作数据库很困难。其实PHP就有现成的类库对DOM树种的节点进行增删改查操作,在此做一些笔记。

这里涉及到2个类 DOMDocument 和 DOMXPath。

其实思路比较明确,就是通过DOMDocument将一个html file转换成DOM树的数据结构,再用DOMXPath的实例去搜索这个DOM树,拿到想要特定节点,接下来就可以对当前节

2014/7/29 Comments:
ThinkPHP中的关联模型('mapping_type'=>HAS_MANY)注意点

初学ThinkPHP时,ThinkPHP中的关联模型有一处易错点,现举例如下:
需用到的表:id_elite_major和id_elite_student
代码举例如下:

代码如下:
class EliteMajorModel extends RelationModel{
protected $_link=array(
'EliteStudent'=>array(
'mapping_type'=>HAS_MANY,  //易错点: 此处在 HAS_MANY 时常会加上 '' 容易写成 'HAS_MANY',导致出错
2014/7/29 Comments:
QQ号就是这样被盗的吗?

今天QQ收到一个来自群里边陌生人的留言,信息如下:

打擾一下,我即將回國,把带不走的东西出售
送一只雪纳瑞,有爱心的同学可以收养
1.車(mini)
2.(全新)HP cp1025打印機(黑色)
3.臺式電腦,型號X64,主板華碩,處理器 英特尔
4.女士自行車(8-9成新)下圖
5.蘋果iphone5s(32G,尼康d3s相機)
6.卖书,莫纳什会计,迪肯business and law
7.(普联)便携式3G转Wifi路由器
8.(格兰仕)带烤平板型微波炉
9.(苏泊尔)电磁炉(送炒锅汤锅)
2014/7/29 Comments:
Thinkphp中Create方法参数详解

昨天项目中卡住了,在thinkPHP的create()方法上遇到了问题,所以跟踪了create(),从而进一步探究了create()方法。
原来create()方法原来有两个参数第一个参数就是众所周知的数据参数第二个是隐藏的$type参数,那么这个参数用来控制什么的呢?
// 状态$type = $type?$type!empty($data[$this->getPk()])?self::MODEL_UPDATE:self::MODEL_INSERT);
仔细琢磨了这句话才发现,这个隐藏参数是用来指明本次数据库具体是什么操作的,1即为插入操作,

2014/7/28 Comments: