页面Trace 功能是ThinkPHP 的一个用于开发调试的辅助手段。可以实时显示当前页面的操作的请求信息、运行情况、SQL 执行、错误提示等,启用调试模式的话,页面 Trace 功能会默认开启(除非在项目的调试配置文件中关闭),并且系统默认的Trace 信息包括:当前页面、请求方法、通信协议、请求时间、用户代理、会话 ID、运行情况、SQL 记录、错误记录和文件加载情况。
如果需要扩展自己的Trace 信息,有下面几种方式:
第一种方式:在当前项目的配置目录下面定义 trace.php 文件,返回数组方式的定义,例如:
return array(
'当前页面'=>$_SERVER['PHP_SELF'],
'通信协议'=>$_SERVER['SERVER_PROTOCOL'],...
);
在显示页面Trace 信息的时候会把这个部分定义的信息追加到系统默认的信息之后,这种方式通常用于 Trace 项目的公共信息。
第二种方式:在 Action 方法里面使用 trace 方法来增加 Trace 信息,该部分可以用于系统的开发阶段调试。例如:
$this>trace('执行时间',$runTime);
$this>trace('Name 的值',$name);
$this>trace('GET 变量',dump($_GET,false));
我们知道,ThinkPHP的模型有自动验证和自动完成功能,但是通常我们需要在模型类里面定义验证因子和完成因子。这样的话,我们使用M方法实例化模型的时候就不能使用内置的自动完成和自动验证功能了,其实仍然有办法的,因为TP提供了一个强大的属性动态更改的方法setProperty。利用该方法就完全可以用M方法实现自动验证功能了,
例如:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
| $User = M('User');
$auto = array (
array('status','1'), // 新增的时候把status 字段设置为 1
array('password','md5',1,'function') // 对 password 字段在新增的时候使md5 函数处理
array('name','getName',1,'callback') // 对 name 字段在新增的时候回调 getName 方法
array('create_time','time',2,’function’), // 对 create_time 字段在更新的时候写入当前时间戳
);
$validate = array(
array('verify','require','验证码必须!'), //默认情况下用正则进行验证
array('repassword','password','确认密码不正确',0,’confirm’), // 验证确认密码是否和密码一致
array('password','checkPwd','密码格式不正确',0,’function’), // 自定义函数验证密码格式
);
$User->setProperty('_auto',$auto);
$User->setProperty('_validate',$validate);
if($User->create()){
$User->add();
}else{
$this->error($User->getError());
} |
“这些年..你过的好吗?”
“无所谓好不好,人生一场虚空大梦,韶华白首,不过转瞬,惟有天道恒在,往复循环,不曾更改..”

仙四页面设计
阅读全文…
Sql server用法:
SELECT TOP N * FROM TABLENAME ORDER BY NEWID()
N:是随机的条数;
TABLENAME:是用的表名
Access:
SELECT TOP N * FROM TABBLENAME ORDER BY RND(ID)
Rnd(id) 其中的id是自动编号字段,可以利用其他任何数值来完成
比如用姓名字段(UserName)
SELECT top 10 * FROM 表 ORDER BY Rnd(len(UserName))
MySql:
SELECT * FROM TABLENAME ORDER BY RAND() LIMIT N
转自流年老大:
TP2.0 添加目录安全文件:
在有些服务器环境下面,是开启了apache的目录浏览权限的,这样就会导致用户可以通过URL访问到你的应用目录,查看到你有哪些模块和模板文件,显然对系统的安全性方面造成了一定的影响。
对于这样的情况,TP提供了一个目录安全文件写入的功能,能够在项目的编译过程自动生成各个目录的安全文件,避免直接访问目录。要开启这个功能,我们只需要在项目的入口文件里面添加下面的定义:
define(‘BUILD_DIR_SECURE’,true);
然后访问项目(必须在自动生成项目目录之前访问),这样就会自动给项目目录生成目录安全文件(默认会在相关的目录下面生成空白的index.htm 文件),并且可以自定义安全文件的文件名DIR_SECURE_FILENAME ,默认是 index.html,如果你想给你们的安全文件定义为 default.html 可以使用
define(‘DIR_SECURE_FILENAME’, ‘default.html’);
还可以支持多个安全文件写入,例如你想同时写入 index.html 和 default.html 两个文件,以满足不同
的服务器部署环境,可以这样定义:
define(‘DIR_SECURE_FILENAME’, ‘index.html,default.html’);
默认的安全文件只是写入一个空白字符串,如果需要写入其他内容,可以通过
DIR_SECURE_CONTENT 参数来指定,例如:
define(‘DIR_SECURE_CONTENT’, ‘deney Access!’);
PS:
1、如果在后期设置,需要删除Runtime目录 才能重新生成目录安全文件
2、确保相关目录的可写权限
今天本来打算去电影院看场电影的,最近上映的”大片”挺多, 尤其想看先风云2,不是因为多么追星,只是觉得1拍的还行,而且电视剧又看过不少集,遂打算去看看。 无奈找到同学家就已经中午了,(=_=! 真远,都快出了5环了),最终还是没去。下次吧。
下午去国家大剧院里面看了看,本来就累的不行,也就没仔细看,不过确实挺宏伟,蛮有艺术气息的。不说了,上图. 洗洗睡了。 ^_^

国家大剧院

音乐厅
新状态。
下午本来在图书馆学习的,快考试了,书还是看不进去, 无奈, 看会别的吧。 看别的也看不进去,拿出手机上会网, 读了一个同学的日志,一发不可收拾, 哼! 你说你干嘛写那么多篇,40多篇,害我看了一下午,有才的女孩儿,有思想的人,感慨下..更新了现在的状态,算是因为你吧.
晚上接到通知说我上个月参加的网页设计大赛获奖了,而且前三等奖都是我做的, 呵呵,小激动一下. ^_^
明天我要好好学习哦。 o(∩_∩)o… 加油。
Recent Comments