最近的文章列表

ThinkPHP CURD方法的data方法(设置当前要操作的数据对象的值)详解

ThinkPHP CURD方法的data方法也是模型类的连贯操作方法之一,用于设置当前要操作的数据对象的值,很多开发人员却并不太习惯用这个方法,今天来讲解下如何用好data方法。

具体用法如下:

1.写操作

通常情况下我们都是通过create方法或者赋值的方式生成数据对象,然后写入数据库,例如:

$Model = D('User');
$Model->create();
// 这里略过具体的自动生成和验证判断
$Model->add();

又或者直接对数据对象赋值,例如:

2014/7/21 Comments:
ThinkPHP的field方法详解(CURD方法)

ThinkPHP CURD方法的field方法属于模型的连贯操作方法之一,主要目的是标识要返回或者操作的字段,可以用于查询和写入操作。

1、用于查询

在查询操作中field方法是使用最频繁的。

$Model->field('id,title,content')->select();

这里使用field方法指定了查询的结果集中包含id,title,content三个字段的值。执行的SQL相当于:

2014/7/21 Comments:
ThinkPHP导入资源文件方法利用模板引擎的详解

一般而言,网页传统方式的导入外部JS和CSS等资源文件的方法是直接在模板文件使用:

<script type='text/javascript' src='/Public/Js/Util/Array.js'>
<link rel="stylesheet" type="text/css" href="/App/Tpl/default/Public/css/style.css" />

ThinkPHP的模板引擎提供了专门的标签来简化上面的导入。

1.import标签

第一个是impo

2014/7/21 Comments:
10个Nodejs的性能优化技巧

下面是我们使用Node.js时遵循的10个性能规则:

1. 避免使用同步代码

在设计上,Node.js是单线程的。为了能让一个单线程处理许多并发的请求,你可以永远不要让线程等待阻塞,同步或长时间运行的操作。Node.js的一个显著特征是:它从上到下的设计和实现都是为了实现异步。这让它非常适合用于事件型程序。

不幸的是,还是有可能会发生同步/阻塞的调用。例如,许多文件系统操作同时拥有同步和异步的版本,比如writeFile和writeFileSync。即使你用代码来控制同步方法,但还是有可能不注意地用到阻塞调用的外部函数库。当你这么做时,对性能的影响是极大的。

// Goo
2014/7/18 Comments:
PHP中两种方法将多行字符串传递给JavaScript

PHP和JavaScript都是初学。最近有这么个需求:

比方说有一个PHP的多行字符串:

$a = <<<EOF 
thy38
csdn
blog
EOF;
2014/7/16 Comments:
PHP对URL字符串进行base64编码和解码,更安全

如果直接使用base64_encode和base64_decode方法的话,生成的字符串可能不适用URL地址。下面的方法可以解决该问题:

URL安全的字符串编码:

代码如下:
 function urlsafe_b64encode($string) {
   $data = base64_encode($string);
   $data = str_replace(array('+','/','='),array('-','_',''),$data);
   return $data;
 }
2014/7/16 Comments:
php解决base64编码后解码乱码的问题

在用PHP做东西的时候发现了一个问题,可以简单的归结为乱码的问题,但是这个问题不是函数本身造成的。来看看罪魁祸首是谁。

嫌疑人:base64_encode 和 base64_decode

罪行:我写了一个跳转和提示函数,接收提示信息后跳转到指定的页面,但是跳转提示时汉字乱码。

跳转模版代码如下:

代码如下:
 <!DOCTYPE html><html><head><meta charset="utf-8">
2014/7/16 Comments:
解决php抢购秒杀抽奖等大流量并发入库导致的库存负数的问题(非/阻塞模式)

我们知道数据库处理sql是一条条处理的,假设购买商品的流程是这样的:

sql1:查询商品库存

if(库存数量 > 0)
{
//生成订单...
sql2:库存-1
}

当没有并发时,上面的流程看起来是如此完美,

2014/7/16 Comments:
php截取包含html标签的字符串的函数

这个方法的作用是:php截取含有html标签的字符串,如果标签未闭合就闭合标签,防止未闭合的标签破坏原网页布局。截取完之后将多余的内容替换为...或者其他任意字符,支持锚点指定替换到指定位置。

/*
* ============================== 截取含有 html标签的字符串 =========================
* @param (string) $str 待截取字符串
* @param (int) $lenth 截取长度
* @param (string) $repalce 超出的内容用$repalce替换之(该参数可以为带有html标签的字符串)
* @par
2014/7/15 Comments:
PHP中分析strlen()和mb_strlen()的区别

在php中常见的计算字符串长度的函数有:strlen和mb_strlen.当字符全是英文字符的时候,两者是一样。这里主要比较一下,中英文混排的时候,两个计算结果。

先来看一个例子:

代码如下:
 <?php  
//测试时文件的编码方式要是UTF8 
$str='中文a字1符'; 
2014/7/15 Comments: