首页 > 代码库 > ThinkPHP的使用基础(一)

ThinkPHP的使用基础(一)

  1. 在项目开始就要开始创建单入口文件,然后运行它,以便让系统产生一个名为INDEX的编译文件;


2.我们所需要的使用的模板就放在这个编译文件的Tpl文件夹下面;但是我们要在这个编译的Tpl文件下面建立一个针对这个控制器的文件夹,命名规则是首字母大写(如Index);然后在这个命名的文件夹下存放你的模板文件;

  注:你的模板文件一定要是.html结束的文件。

  如:我的就放在INDEX/Tpl/Index/index.html;(Index文件夹是自己创建的)


3.Index里面的Commom文件夹是用来创建一些自定义的函数的,在里面创建的函数会在运行时自动加载,在控制器中可以直接调用。


4.关于配置文件的配置项:

  ‘TMPL_TEMPLATE_SUFFIX’=>‘.html‘;//设置模板文件后缀名

  ‘URL_HTML_SUFFIX’=>‘‘;//设置URL伪静态后缀名

  ‘URL_MODEL’=>0://设置显示URL形式,0:普通型,1:路由型,2:兼容型。

  ‘DEFAULT_FILTRE’=>‘htmlspecialchars‘://设置默认字符处理;

  ‘TMPL_VAR_IDENTIFY’=>‘array’://告诉模板引擎处理的数据类型,为了提高编译速度。


5.基本函数:

 U(‘Index/show‘,array(‘uId‘=‘1‘,‘userName‘=‘bobo‘),‘.aspx‘,1):URL生成函数,总共有四个参数:控制和方法、传递的参数(数组形式)、伪静态后缀名、是否跳转(1=ture,0=false)、是否显示域名地址(1=true,0=false);后四个参数更加实际情况可选;

 I(‘uId‘):会自动从所有传递过来的参数中获取对于的参数;如I(‘.get‘):获取所有以get方式传递过来的参数;I(‘.post‘):获取所有以post方式传递过来的参数。如果使用这个函数输出的话,则要设置添加手动配置项:‘DEFAULT_FILTER’=>‘htmlspecialchars’,不然注入的脚本会被执行。

          但是用$this->display(‘userName’),就不会存在上面的问题,因为它自动添加了配置项:‘DEFAULT_FILTER’=>‘htmlspecialchars’。


6.ThinkPHP中的404方法:_404(‘页面不存在’,U(‘Index/index’)):有两个参数,第一个参数:当页面不存在的时候的提示信息;第二个参数:页面跳转的URL。


7.halt(‘页面不存在’):提示页面的不存在,并且显示提示信息。相当于另外一个404方法来。 


8.ThinkPHP如何连接数据库:

  a.添加数据库配置信息;

  b.实例化数据库,创建要添加到的数据库的数据对象的类,执行添加数据:如M(‘user’)->data($data)->add();(注:$data是我们要添加的数据,)返回值是添加成功的记录的Id.


9.操作成功后的处理方法:success(a,b):一共有两个参数,参数a:处理成功后的提示信息;参数b:处理成功后的跳转页面。  

  操作失败后的方法:error(a):默认是的返回,就是从哪个页面过来的,就返回到那个页面,相当于浏览器的“返回”功能;参数a:提示信息。


10:删除数据库记录的操作:M(‘user’)—>where(‘id>0’)—>delete();主要:必须要添加where条件。

                          M(‘user’)—>where(array(‘id’=>array(‘gt’,0)))—>delete():删除Id>0的记录;

                          M(‘user’)—>where(array(‘id’=>array(‘lt’,0)))—>delete():删除Id<0的记录。

    这个方法的返回值是受影响的条数。


11.数据查询操作:M(‘user’)—>select();


12.数据分配:

   方法一:$this—>assign(‘a’,111);

   方法二:$this—>a=111;


13.显示模板:$this—>display(a):参数a:是你要显示的模板页面,可选;如果没有参数,则传递的是这行代码所在的方法名相同的模板。


14.分配参数并显示模板:$this—>assign(‘a’,111)—>display();


15.使用ThinkPHP模板引擎来循环输出:

   <foreach name=‘wish’ item=‘v’>--------这一行会解析成PHP代码:<?php foreach($wish as $key—>$v)

      //中间的HTML循环体

   </foreach>--------------------------------这一行会解析成PHP代码:<?php endforeach;?>


16.ThinkPHP模板引擎中的数据输出:

  方法一:{$v[‘id’]};

  方法二:{$v.id};


17.ThinkPHP模板引擎将时间戳转化为时间:data(‘y-m-d h:i:s’,time):参数一:时间显示格式;参数二:需要转化的时间。

  在模板中的写法是:{$v.time|data=http://www.mamicode.com/‘y-m-d h:i:s’,###}


18.ThinkPHP模板殷勤中产生1-5随机数:

   {:mt_rand(1,5)}————这行代码会被解析成<?php echo mt_rand(1,5);?>