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>

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM