Thinkphp学习_thinkphp学习
Thinkphp学习由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“thinkphp学习”。
Thinkphp
一.学习心得
a)在action也面,必须先进行业务处理,在吧处理的结果存到aign中,在display
显示模板,才能把aign中的值传到模板中。
b)Thinkphp的action业务逻辑处理中中,注意要把不同的处理分开写,不然会产生
缓存错误的问题。一个页面需要涉及多个数据库操作时,要注意方法重用的问题,避免产生一个方法多次调用的问题。比如:一个页面中涉及添加和显示。
c)Thinkphp 使用add添加数据时,如果你在中间过程中修改了表结构,会导致在runtime缓存中记录上一次的表结构,这样添加操作会失败,缓存很好,但千万要小心。(参看手册6.3)
d)与thinkphp2.0相比,Thinkphp3.0框架,在创建模型对象时,不必一定要先创建模
型类。
e)Thinkphp中,如果要返回到某个页面,可以使用:location=”__url__/模块名”,以
便调用方法,显示想要的效果。
f)对于thinkphp3.0来说,自定义模型类已经不是必须的了。
i.用户在创建模型对象时,通过在括号中输入表名(首字母大写,注意表前缀),即可创建该表对应的模型。例如:$user=new Model(‘User’),其中UserModel.cla.php类不是必须存在的。
ii.用户自定义模型,必须extends Model类,才能拥有基础模型的操作权利。iii.用户自定义模型的创建方式,可以直接new 模型类,或者可以使用D(“User”)
快捷方式声明(声明时,可根据不同项目进行区别)。
iv.实例化空模型的作用是进行原生sql语句的查询和其它操作。
g)Thinkphp中,如果查询只返回一条数据信息,可以使用find(id)方法,这样返回的数据,可以看成是一个对象,在显示的时候,可以使用$user->name 或者是$user[‘name’]的对象属性方式进行访问。比如:修改某个单独信息。
h)Create()方法可以快速创建表单提交的数据,需要注意的是,thinkphp3.0中,对应的model模型中可以没有字段的声明,单表单提交过来的方式必须是post,并且,表单中控件的name属性名,必须和数据库表中的字段名完全一致,大小写也要完全一致。然而,如果使用传统的取值方式,即get或者是post,那么就不需要和表中字段名完全相同,但要注意的是,提交和接收时的name值要完全相同。
i)如果要使用M()或者是D()函数,前面不用写new关键字,直接写成:$user=M(“User”)
这种形式就行。
j)Thinkphp3.0自动验证功能:好像是必须使用create()方法创建接收数据时才能使用的,输出的要输出错误提示,使用exit($model->getError())方法。
k)高级模型中:如果使用序列化字段,那么表中好像只需要一个字段,序列化时添加
上所有字段,并且,创建模型时,好像只能使用D方法。如果要调用create方法,好像只用使用M模型实例化是才能用啊!
l)Thinkphp3.0高级模型中的视图模型:是在两个模型的基础上,建立第三个视图模
型,类似于数据库中的视图,主要作用是查询。
m)Thinkphp 3.0 中:关联模型blongs to 关系中:as_fields是把关联的字段直接映射
成对象本身的字段。mapping_fields 是把关联字段放到关联模型对象本身中,通过对象名‘。’字段名拿到!例如:cla.c_name。