2015.1写留言板的时用的 知识点和函数 --->总结

一:时间函数和uniqid()

  1:uniqid():生成唯一的id, 无参数返回的字符串的长度为13,有参数为23

  2:时间和时间戳相互转换的php函数

    ①:time()  返回当前unix的时间戳   microtime() 返回当前unix时间戳和微秒数

    ②:date('Y-m-d H:i:s', time()) 格式化一个本地时间/日期

    ③:strtotime()  将任何日期的英文文本的日期时间描述转化为unix时间戳

二:tp框架的跳转和重定向

  1:页面跳转

    ①:success('提示信息', '跳转地址', '跳转时间');   默认的跳转地址: $_SERVER['HTTP_REFERER']     默认的等待时间:1秒

    ②:error('提示信息', '跳转地址', '跳转时间');  默认的跳转地址:  javascript:history.back(-1)  默认的等待时间:3秒

 

  2:页面的重定向

    redirect('URL地址','时间','提示信息') 仅仅想重定向一个指定的url地址,而不是某个模块的操作方法。  和U函数的用法一致。

  3:U() 生成URL

    定义规则:U('地址表达式', ['参数'], ['伪静态后缀'], ['显示域名']);

    支持锚点

三:tp框架的模型定义(M,D 方法)

  1:直接实例化

    Model(['模型名'], ['数据表前缀'], ['数据库连接信息']);  都可选 大多数情况下无需传入任何参数即可实现实例化

    连接信息支持三种格式

      ①:字符串定义

      ②:数组定义

      ③:配置定义

  2:D方法实例化(实例化自定义模型类)

    ①:\Home\Model\UserModel 类不存在的时候  D方法会尝试实例化公共模块下面的 \Common\Model\UserModel  如果不存在就会实例化\Think\Model的基类

    ②:linux下,注意D方法实例化时模型名称的大小写

    ③:跨模块实例化模型类的时候,不支持自动加载公共模块的模型类

  3:M方法实例化模型

    ①:支持跨库操作

    ②:默认直接实例化\Think\Model类, 实例化其他公共的模型类:$user = M('\Home\Model\COmmonModel:User', 'think_', 'db_config');

    ③:如果你的模型类有自己的业务逻辑,M方法是无法支持的,就算已经定义了具体的模型类,M方法实例化的时候会直接忽略掉

  4:实例化空模型类(仅仅需要原生SQL查询)

    ①:new Model()

    ②:M()

    

    D()和M()区别  D实例化具体的模型类,没有找到定义的模型类则会自动调用M方法

    M是对数据表进行基本的CURD操作,由于不用加载具体的模型类,性能会更高,无需用户为每个数据表定义模型类

四:C() 和 I()

  1:C('参数名称') 获取已经设置的参数值 尚未设置返回null

     C('参数名称','新的参数值')  动态配置赋值仅对当前请求有效,不会对以后的请求造成影响 如:动态改变缓存有效期

  2:I():获取系统变量和用户提交的数据

    I('变量类型.变量名/修饰符',   ['默认值'],  ['过滤方法'],  ['额外数据源'])   注意:变量修饰符是3.2.3版本新增

     可以支持默认值, 方法过滤(htmlspecialchars: 预定义字符串转化为实体,strip_tags()函数:剥去HTML, XML, PHP标签), 获取整个变量类型

 

 

  

 

    

    

  

posted @ 2015-01-08 20:38  敲着键盘看风景  阅读(352)  评论(0编辑  收藏  举报