TP基础问题第一天

1、入口文件中定义的内容,说出3点

1. 检测PHP环境
if(version_compare(PHP_VERSION,'5.3.0','<')) die('require PHP > 5.3.0 !');
2. 开启调试模式 建议开发阶段开启 部署阶段注释或者设为false
  
define('APP_DEBUG',True);
3. 定义应用目录
  
define('APP_PATH','./Application/');
4. 仅用于生成新模块,生成后立刻注释掉
  
define('BIND_MODULE','Admin');
4. 定义根目录的绝对地址
  define('ROOT',str_replace("\\","/",dirname(__FILE__)));
5. 引入ThinkPHP入口文件
  
require './ThinkPHP/ThinkPHP.php';

2、U方法的参数规则

        U('地址表达式',['参数'],['伪静态后缀'],['显示域名'])


3、如何判断请求类型,常用的请求方式有哪两种,I方法的参数规则?

   1.$_SERVER['REQUEST_METHOD']

   2.post请求与get请求

   3.I('变量类型.变量名',['默认值'],['过滤方法'],['额外数据源'])

  
4、成功和失败的跳转的方法以及参数规则

  1.success('提示信息','跳转地址',跳转时间)    success方法的默认跳转地址是$_SERVER["HTTP_REFERER"]

   2.error('提示信息','跳转地址',跳转时间)      error方法的默认跳转地址是javascript:history.back(-1)


5、URL的四种模式,简述每种形式的规则

   1.普通模式    http://localhost/?模块=home&控制器=user&操作=login&var=value

   2.PATHINFO模式  http://localhost/index.php/home/user/login/var/value/

   3.REWRITE模式   http://localhost/home/user/login/var/value

   4.兼容模式    http://localhost/?s=/home/user/login/var/value


6、TP常用的配置文件有哪几个?配置文件的加载顺序依次是什么?

  1) 惯例配置文件(位于ThinkPHP/Conf/convention.php

     公共配置文件(默认位于Application/Common/Conf/config.php

     调试配置文件(位于ThinkPHP/Conf/debug.php)和应用调试配置文件(位于Application/Common/Conf/debug.php

  2) 惯例配置->应用配置->模式配置->调试配置->状态配置->模块配置->扩展配置->动态配置


7、模版渲染display方法的参数规则

  display('[模板文件]'[,'字符编码'][,'输出类型'])

用法描述
不带任何参数自动定位当前操作的模板文件
[模块@][控制器:][操作]常用写法,支持跨模块 模板主题可以和theme方法配合
完整的模板文件名直接使用完整的模板文件名(包括模板后缀)

 

 

 


8、常用的模版内置标签以及在模版中使用的示例,举出5个!

   <volist name="list" id="data">{$data['id']}<br/></volist>

   <foreach name="list" item="vo" >{$vo['id']}</foreach>

   <for start="开始值" end="结束值" comparison="" step="步进值" name="循环变量名" ></for>

   <switch name="变量" ><case value="值1" break="0或1">输出内容1</case><case value="值2">输出内容2</case><default />默认情况</switch>

   <eq name="name" value="value">相等<else/>不相等</eq>

   <if condition="($name eq 1) OR ($name gt 100) "> value1<elseif condition="$name eq 2"/>value2<else /> value3</if>

   <empty name="name">name为空<else /> name不为空</empty>

   <in name="id" value="1,2,3">id在范围内<else/>id不在范围内</in>
  
9、模版包含的参数规则以及举例说明

  <include file='模版表达式或者模版文件1,模版表达式或者模版文件2,...' />

  <include file="Public/header,Public/menu" />


10、三大自动的参数规则

   字段映射 protected $_map = array( 'name' =>'username', // 把表单中name映射到数据表的username字段   'mail'  =>'email', // 把表单中的mail映射到数据表的email字段);

   自动验证 protected $_validate = array( array(验证字段1,验证规则,错误提示,[验证条件,附加规则,验证时间]), );}

   自动完成 protected $_auto = array ( array(完成字段1,完成规则,[完成条件,附加规则]));


11、举例描述上传类在控制器中调用的全过程代码(要求包含控制器的代码以及模型类新增数据到数据库的全部代码),并说明表单中需要注意的内容!

  控制器

  public function addUsers(){

        if(IS_POST){
            
            $pic = $this->doUpload();
            $_POST['avatar'] = $pic['avatar'];


        }else{
            $this->display();
        }

    }

 

  模型类

   public function doUpload(){

        if (empty($config)) {
            $config = array(
                'maxSize'  => 3145728,
                'rootPath' => './Public/', //保存根路径,一定要重新设置,否则无法找到根路径
                'savePath' => 'Uploads/',
                'saveName' => array('uniqid', ''),
                'exts'     => array('jpg', 'gif', 'png', 'jpeg'),
                'autoSub'  => true,
                'subName'  => array('date', 'Ymd'),
            );
        }

        $upload = new \Think\Upload($config);
        $info = $upload->upload();

        if(!$info){
            $this->error = $upload->getError();
            return false;
        }

        foreach($info as $key=>$v){
            $pic[$key] = $v['savepath'].$v['savename'];
        }

        return $pic;
    }

 

 注意的内容:

        1)$upload->rootPath= './Public/Uploads/'; // 设置附件上传目录

          更改为 'rootPath' => './Public/','savePath' => 'Uploads/' //保存根路径,一定要重新设置,否则无法找到根路径

        2)表单中加 enctype="multipart/form-data"

转载于:https://www.cnblogs.com/xiantu/p/8329314.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值