• ThinkPHP5 与 ThinkPHP3.* 之间的使用差异


    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>

     

  • 相关阅读:
    Git with SVN 协同设定
    Apache+Django+mod_wsgi安装目录
    ROR study
    PHP框架
    Gerrit 配置
    Garmin、任我游品牌自制等高线方法比较
    使用python发送outlook约会提醒邮件
    Apache部署多个django site project
    Aptana Studio 3安装(Windows)
    The Art of Readable Code
  • 原文地址:https://www.cnblogs.com/zhaohui123/p/7298363.html
Copyright © 2020-2023  润新知