• 浅谈ThinkPHP(三)


    实现商品的添加

    1、在add.html页面中更改表单元素的名称

     

    Goods控制器的add()方法中获取商品分类

     

    在add.html中循环获取

     

    2、设置提交的位置

     

    3、添加商品代码参见GoodsController.class.php

    方法一:

     

    $this->redirect();也是跳转

    方法二(用create创建数组):

    create()的作用:

    1、将表单元素的值和数据库中的字段一一匹配。

    2、讲数据库中没有的字段在数组中去除。

     

    PHP中添加的语法如下:

     

    success()和error()方法是thinkphp自带的执行成功和失败的方法,可以用此方法来实现跳转。

    方法三:

     

    I()函数

    I()用来获取get、post、sessioncookie等等的数据。

    语法:I('变量的类型.变量的名称',[默认值],[过滤方法])

    变量类型

    描述

    Get

    获取get提交的参数

    Post

    获取POST提交的参数

    param

    自动判断是get还是post

    request

    获取request提交的数据

    Session

    获取会话的数据

    Cookie

    获取cookie数据

    server

    类似是$_SERVER[];

    globals

    获取$GLOBALS参数

    path

    获取pathinfo模式的url参数

    用法:

    描述

    例题

    获取get提交的name变量

    I('get.name')

    获取get提交的name变量并指定默认值

    I('get.name','李白')

    获取值后并调用函数处理数据

    I('get.name',' ', mysql_real_escape_string,trim);

    获取所有get提交的数据

    I('get.')

    此配置文件是默认的I的过滤参数

     

    修改商品

    update.html中添加隐藏域。

     

    GoodsController.class.php页面中代码如下:

    $this->success()中跳转的路径一定要用U()转换。

     

    U方法

    U()用来生成URL地址,配合“'URL_MODEL'             =>  0,”配置来使用,配置的值不同,生成的URL地址就不同

     

    $this->sucess(),里面的路径一定要用U()方法来生成URL。

    删除商品

    HTML页面

     

    在控制器中代码如下:

     

    验证码

    TP框架中自带了验证码类

    位置:Think/verify.class.php

     

    在LoginController控制器中创建生存验证码的方法

     

    login.html登陆模板中

     

    在LoginController控制器中判断验证码是否正确并且判断登陆是否成功

     

    文件上传

    用到的知识点:

    1、文件上传的时候,要设置表单的enctype属性

     

    2、$_FILE[名字][]用来接收文件的信息

    第二维的字段:

             name

             size

             error

             type

             tmp_name

    3、move_uploaded_file(临时文件,目标文件)

    ThinkPHP自带了文件上传的类。位置:Think/Upload.class.php

     

    生成缩略图

    缩略图类存放的位置 ThinkImage.class.php

    自定义工具类

    在application文件夹下新建一个components文件夹,此文件夹中存放自定义的工具类。

    在components文件夹下新建一个EmailTool.class.php文件

     

    在控制器调用

     

    TP中的session和cookie

    session('name')                 获取名字是name的会话

    session('name','李白');   将'李白'付给name会话

    session('name',null);        清空name的会话

    session(null);                      清空所有会话

    ------------------------------------

    cookie('name')                   获取名字是name的cookie

    cookie ('name','李白');    将'李白'付给name cookie

    cookie ('name',null);         清空name的cookie

    cookie (null);                       清空所有cookie

    命名空间

    当开发大型项目的时候,可以会需要成千上万的文件

    面向对象通过命名空间来解决这个问题的。

    PHP命名空间是PHP5.3以后才出现的。

    命名空间中可以出现:类,函数,常量

    只有const定义的常量命名空间才有效。命名空间的名字必须符合PHP命名的规则。

    命名空间是逻辑上的定义,逻辑的名称 不是物理上的路径

    Tp中为了寻址的方便把命名空间做成地址

    命名空间的声明和使用(namespace1.php)

     

    命名空间的多级访问一(namespace2.php)

     

    命名空间的多级访问二(namespace3.php)

     

    空间元素访问的三种形式

    1、非限定名称访问

             echo  getInfo()

             类似于:require  ('getinfo.php');

    2、限定名称访问,是相对限定

             ChinagetInfo();

             类似于:requrie ('China/getInfo.php');

    3、完全限定访问

             ChinagetInfo();

             类似于  requre ('c:Chinagetinfo.php');

    引用命名空间(namespace4.php)

     

    命名空间的注意事项:

    1、最顶层的表示的是公共空间

    2、namespace必须在最上面。

    3、命名是虚拟的空间,不是真实存在的目录,但是ThinkPHP的命名空间是真实的地址路径。

    4、当前文件中include具有命名空间的文件,不会改变当前文件的命名空间。

    5、use有两个作用 引入命名空间  引入类

  • 相关阅读:
    Hadoop运行环境搭建
    大数据技术快速扫盲篇
    基于Cloudera Manager Server的WebUI添加Hive服务实战案例
    基于Cloudera Manager Server的WebUI添加Spark服务实战案例
    zabbix的聚合图形配置实战案例
    zabbix配置短信报警概述
    zabbix配置微信报警实战案例
    基于Zabbix WebUI的API实现自动化添加主机实战案例
    zabbix监控 Nginx web页面实战案例
    zabbix agent批量安装并自动监控TCP的11种状态实战案例
  • 原文地址:https://www.cnblogs.com/Prinlily/p/9883212.html
Copyright © 2020-2023  润新知