zoukankan      html  css  js  c++  java
  • ThinkPHP5 与 ThinkPHP3.* 之间的使用差异

    因为研究TP5时间不是很长,暂时先列以下几处差异:

    1、过去的单字母函数已完全被替换掉,如下:

    S=>cache,C=>config,M/D=>model,U=>url,I=>input,E=>exception,L=>lang,A=>controller,R=>action

    2、模版渲染:$this->display() => return view()/return $this->fetch();

    3、在model中调用自身model:$this => Db::table($this->table)

    4、在新建控制器与模型时的命名:

      ①控制器去掉后缀controller:UserController => User

      ②模型去掉后缀model:UserModel => User

    5、url访问:

      如果控制器名使用驼峰法,访问时需要将各字母之间用下划线链接后进行访问。

      eg:控制器名为AddUser,访问是用add_user来进行访问

    6、在TP5中支持配置二级参数(即二维数组),配置文件中,二级配置参数读取:

      ①Config::get('user.type');

      ②config('user.type');

    7、模板中支持三元运算符的运算:{$info.status ? $info.msg : $info.error}还支持这种写法:{$varname.aa ?? 'xxx'}或{$varname.aa ?: 'xxx'}

    8、TP5内置标签:

      系统内置的标签中,volist、switch、if、elseif、else、foreach、compare(包括所有的比较标签)、(not)present、(not)empty、(not)defined等

    9、TP5数据验证:

      $validate = new Validate(['name' => 'require|max:25','email' => 'email']);

      $data = ['name' => 'thinkphp','email' => 'thinkphp@qq.com'];

      if(!validate->check($data)){

        debug::dump($validate->getError());

      }

      注:使用助手函数实例化验证器——$validate = validate('User');

    10、TP5实现了内置分页,使用如下:

      查询状态为1的用户数据,且每页显示10条数据

      $list = model('User')->where('status',1)->paginate(10);

       $page = $this->render();

       $this->assign('_list',$list);

       $this->assign('_page',$page);

       return $this->fetch();

      模板文件中分页输出代码如下:

      <div>{$_page}</div>

      

     
  • 相关阅读:
    python的paramiko模块简单应用
    python单线程下实现多个socket并发
    python之协程
    python之生产者消费者模型
    python进程之间修改数据[Manager]与进程池[Pool]
    python的进程间的数据交互
    vmware搭建vSAN提示磁盘不合格或者看不到磁盘的解决办法
    python之多并发socket
    OOP的几个不常用的方法
    HTTP 头和 PHP header() 函数
  • 原文地址:https://www.cnblogs.com/wupeiky/p/5809320.html
Copyright © 2011-2022 走看看