ThinkPHP3.2基础知识

Posted HTeroPair

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ThinkPHP3.2基础知识相关的知识,希望对你有一定的参考价值。

1、如何开启调试模式,开启调试模式有什么用处?

// 开启调试模式 建议开发阶段开启 部署阶段注释或者设为false
define(‘APP_DEBUG‘,True);

 

  开启调试模式的用处:方便及时发现隐患问题和分析、解决问题。

2.如何定义空空控制器和空操作?

  空操作:

<?php
namespace Home\Controller;
use Think\Controller;
class CityController extends Controller{    
    public function _empty($name){       
//把所有城市的操作解析到city方法 $this->city($name); }
//注意 city方法 本身是 protected 方法 protected function city($name){
//和$name这个城市相关的处理 echo ‘当前城市‘ . $name; }

 

  空控制器:

<?php
namespace Home\Controller;
use Think\Controller;
class EmptyController extends Controller{    
     public function index(){       
        //根据当前控制器名来判断要执行那个城市的操作       
         $cityName = CONTROLLER_NAME;        
         $this->city($cityName);    }   
        //注意 city方法 本身是 protected 方法    
     protected function city($name){       
        //和$name这个城市相关的处理         
         echo ‘当前城市‘ . $name;    
    }
}

 

3、控制器的参数的前置和后置操作如何定义?

  前置操作:_before_操作名           后置操作:_after_操作名

  例子:

<?php
namespace Home\Controller;
use Think\Controller;
class IndexController extends Controller{    
  //前置操作方法    
    public function _before_index(){        
       echo ‘before<br/>‘;    
    }    
    public function index(){        
       echo ‘index<br/>‘;    
    }   
   //后置操作方法    
  public function _after_index(){        
      echo ‘after<br/>‘;    
    }
}

 

4.请写出自动验证的规则,要求在修改和新增时都校验密码字段(pwd)的规则并且不管是否为空都要进行校验,规则为:密码要含有大小写字母和数字并且长度要至少为6位;

protected $_validate=array(
      array(‘password‘,‘require‘,‘密码不能为空!‘),
      array(‘password‘,‘/^[a-zA-Z0-9]{6}$/‘,‘密码不能小于六位!‘,0,‘regex‘,3),   
)

 

5.3种查询方式和8种查询方法都是什么?

  3种查询方式:字符串、数组、对象

  8种查询方法:表达式查询、快捷查询、区间查询、组合查询、统计查询、子查询、SQL查询、动态查询

6.请写出一个组合查询中复合查询的示例代码;

$where[‘name‘]  = array(‘like‘, ‘%thinkphp%‘);
$where[‘title‘]  = array(‘like‘,‘%thinkphp%‘);
$where[‘_logic‘] = ‘or‘;
$map[‘_complex‘] = $where;
$map[‘id‘]  = array(‘gt‘,1);

 

7、请写出连贯操作中可以重复调用的操作;

  where       用于查询或者更新条件的定义      字符串、数组和对象

  join           用于对查询的join支持                   字符串和数组

    union        用于对查询的union支持               字符串、数组和对象

    scope       用于命名范围                                字符串、数组

       bind         用于数据绑定操作                         数组或多个参数




以上是关于ThinkPHP3.2基础知识的主要内容,如果未能解决你的问题,请参考以下文章

ThinkPHP3.2基础知识

ThinkPHP3.2基础知识

代码审计 | ThinkPHP3.2.x框架SQL注⼊

ThinkPHP3.2基础教程(33)--路由功能

ThinkPHP3.2基础教程(20)--模型-CURD操作-数据写入

ThinkPHP3.2基础教程--模型-字段定义