您的位置:首页 > 编程语言 > PHP开发

ThinkPHP学习笔记(二)

2014-03-17 18:05 113 查看
1.比较好的参考手册(非官方,注意:也有一些错误,当出不来想要的效果时以官方的手册为准):http://www.5idev.com/p-thinkphp_lib_vendor.shtml

2.加载自定义函数库:

(1)我们可以在项目配置文件中定义LOAD_EXT_FILE参数,例如:
"LOAD_EXT_FILE"=>"user,db"
通过上面的设置,就会执行过程中自动载入项目公共目录下面的扩展函数库文件user.php和db.php,这样就可以直接在项目(如Home)中调用扩展函数库user.php和db.php中的函数了,而且扩展函数库的函数修改是实时生效的。

(2)手动载入
如果你的函数只是个别模块偶尔使用,则不需要采用自动加载方式,可以在需要调用的时候采用load方法手动载入,方式如下:
load("@.user")



3.模板分隔符:默认是/,可以设置成_,从而减轻目录的深度:

 'TMPL_FILE_DEPR'=>'_'

4.URL伪静态:

'URL_HTML_SUFFIX'=>'html|shmtl|xml'//多个用|分割

伪静态有什么用?
1.最主要的就是迎合搜索引擎方便搜索引擎蜘蛛(Spider)来抓取网页上的相关内容!有利于SEO优化;
2.让用户感觉更安全,提升用户对网页的信任度;


5.URL生成:



U('User/add')//生成User模块的add操作的URL地址
U('Blog/read?id=1')//生成Blog模块的read操作并且id为1的URL地址
U('Admin/User/select')//生成Admin分组的User模块的select操作的URL地址



U方法的第二个参数支持数组和字符串两种定义方式,如果只是字符串方式的参数可以在第一个参数中定义,例如:


U('Blog/cate',array('cate_id'=>1,'status'=>1))
U('Blog/cate','cate_id=1&status=1')
U('Blog/cate?cate_id=1&status=1')
三种方式是等效的,都是生成Blog模块的cate操作并且cate_id为1status为1的URL地址



但是不允许使用下面的定义方式来传参数
U('Blog/cate/cate_id/1/status/1')


6.Thinkphp输入出执行的sql语句

$db=M('Img');
$where['cid']=0;
$count=$db->where($where)->count();
echo$db->getLastSql();//调试时看sql语句是否正确


7.开启调试模式:

a.在入口文件index.php设置:
define('APP_DEBUG',true);
b.在配置文件config.php中设置:
'APP_STATUS'=>'debug',
'SHOW_ERROR_MSG'=>true,
'SHOW_PAGE_TRACE'=>true



8.session操作

Session赋值比较简单,直接使用:
session('name','value');//设置session

Session取值使用:
$value=session('name');

session('name',null);//删除name

要删除所有的session,可以使用:

session(null);//清空当前的session

要判断一个session值是否已经设置,可以使用

session('?name');
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: