全新ThinkPHP框架笔记(都是干货)_第1页
全新ThinkPHP框架笔记(都是干货)_第2页
全新ThinkPHP框架笔记(都是干货)_第3页
全新ThinkPHP框架笔记(都是干货)_第4页
全新ThinkPHP框架笔记(都是干货)_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本文格式为Word版,下载可任意编辑——全新ThinkPHP框架笔记(都是干货)ThinkPHP学习笔记

1.自动加载,动态编译,俭约系统效率

2.ajax,视图,分组,权限管理,关联操作,主从数据库,缓存3.自动验证,自动完成,映射

4.支持4种url解析模式,便利seo

A:alpha内部测试

B:beta公开测试或者给客户进行测试C:RC开发倒计时,一般没什么问题F:final正式版本

开启调试模式:define(‘APP_DEBUG’,’TRUE’);//将模拟linux操作系统来帮我们识别大小写,而且方法名的大小写与模板文件的大小写相关定义公共模块的目录,放到应用目录外define('COMMON_PATH','./Common/');

访问模式:

0普通模式:参数形式

1pathinfo模式:http://域名/项目名/入口文件/模块名/方法名/键1/值1/键2/值2

智能识别'URL_PATHINFO_MODEL'=>1;

非智能识别:m/模块名/a/方法名'URL_PATHINFO_MODEL'=>1;2rewrite重写:伪静态,index.php取消掉3兼容模式:http://域名/index.php?s=/user/g修改方法:

在config.php中,增加配置项:'URL_MODEL'=>1(or2,3,0);

重写模式要在apache配置中(httpd.conf)开启rewrite,.htaccess(记事本添加可以在保存名字的时候加上双引号)

注:通过url不能执行私有方法,但定义的私有方法的意义表达在可以对该类下的公有方法的验证等相关操作

修改url的分隔符:’URL_PATHINFO_DEPR’=>’/’

修改模板定界符:’TMPL_L_DELIM’=>’’}>’开启页面trace:‘show_page_TRACE’=>true,

大C方法:读取配置文件参数,可利于此分派到模板中调用eg:$a=C('DB_HOST');

1.渲染视图

$this->display():

//参数1:模板,参数2:编码;参数3:类型(xml,txt)加载其他的控制器下面的模板:$this->display('index:login');加载其他模板目录的模板:目录名@模块名:模板名

加载自定义路径的模板:直接写全相对路径和模板名(加上后缀),以主入口文件为相对位置

2.参数传递

C:$this->assign(‘data’,$name);

V:hello{$data}//动态数据的输出,{}为默认定界符3.跳转:

//操作完成3秒后跳转到/Article/index$this->success('操作完成','你的路径',3);//操作失败5秒后跳转到/Article/error$this->error('操作失败','/Article/error',5);4.重定向:

$this->redirect('New/category',array('cate_id'=>2),5,'页面跳转中...');5.安全获取用户数据:

I('post.');

I('post.username')====$_POST['username']6.生成url

U('url路径',array())//array传递参数U('index/test',array('id'=>10))

7.关于空操作:

防止黑客不断的请求网站的各种页面,通过一些错误信息来判断网站的框架,编写语言以及数据库类型等信息,不利于网站的安全用处:实现错误页面和一些URL的优化php原生处理方式:

魔术方法:__call($method,$arg){echo'您操作的方法不存在'};//参数:方法,参数Thinkphp处理方式:_empty(){}

8.关于跨模块操作:

A(\//实例化控制器对象

R(\模块/控制器/操作\//实例化控制器对象并调用相关方法

系统常量:

__ROOT__//项目根目录地址

__APP__//当前项目的入口文件地址__URL__//当前模块地址__SELF__/当前url地址

自定义常量:

在相应的配置文件进行如下配置:'TMPL_PARSE_STRING'=>array(

'__A__'=>'qawedad','__B__'=>'asdasda')

1.数组的遍历:

|得到数组的值

2.模板url替换

{:U('模块/控制器/方法',array('key'=>'value'))}会自动为你生成一个url

__MODULE__/控制器/方法/参数===等价于/index.php/模块名__APP__/模块/控制器/方法/参数===等价于/index.php/模块/控制器/方法/参数

__URL__/方法/参数====等价于/index.php/module/controller/方法

__ROOT__/模块/控制器/方法/参数

3.css/js/image加载(1).传统方法:

’mysql’,//数据库抽象层的选择‘DB_HOST’=>’localhost’,‘DB_NAME’=>’thinkphp’,‘DB_USER’=>’root’,‘DB_PWD’=>’’,‘DB_POST’=>’3306’

‘DB_PREFIX’=>’tp_’,//表前缀方法二:DSN方式

‘DB_DSN’=>’mysql://root:@localhost:3306/thinkphp’,//优先级高于方法一‘DB_PREFIX’=>’tp_’,//表前缀

主从数据库的配置'DB_DEPLOY_TYPE'=>1,

'DB_HOST'=>',localhost','DB_NAME'=>'tp,thinkphp',读写分开

'DB_RW_SEPARATE'=>true//自动将第一台数据库做写入的数据库,后面的数据库作为读的数据库

'DB_FILES_CACHE'字段缓存

获取不同表前缀的名字:protected$truename;对于多服务器的状况,怎么修改表字段:protected$fields=array(

0=>'id',

1=>'username',2=>'password',

'_pk'=>'id',//主键(系统将主键默认为id)'_aotoinc'=>true//自增)

跨同服务器的数据库protected$dbName='';

D();thinkphp实例化模型类的方法M();

thinkphp中的M和D的区别是什么?

M()是model()的快捷键方式该方法将自己实例化表对象不需要创立表的模型类D()是快速创立模型类实现表对象的快捷方法,使用D()必需在你的model层创立相应的表模型类

模型实例化:

1.$goods=newGoodsModel();//实例化继承了model基类的特性化需求模型类2.$goods=D('goods');//快捷函数:和1方法等同

$goods=D();//创立model基类对象,相当于一个数据库的链接,去执行原生sql语句

3.$goods=M('goods');//创立基类model对象,操作goods数据表

数据查询1.find2.select

group(分组)order(排序)distinct(去掉重复)//自动调用的方法(魔术方法/空方法)3.getByXxxx('aa')//查询字段xxxx的值为aa的,也是自动调用的方法

4.条件having和where

having是在where

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论