Thinkphp5中怎么定義獲取器和修改器

下面由thinkphp教程欄目給大家介紹thinkphp5中怎么定義獲取器和修改器,希望對(duì)需要的朋友有所幫助!

Thinkphp5中定義獲取器和修改器

一 獲取器:獲取器的作用是在獲取數(shù)據(jù)的字段值后自動(dòng)進(jìn)行處理,其實(shí)就是將在數(shù)據(jù)庫(kù)中拿到的數(shù)據(jù)變成我們想要的到的另外一種形式,

然后獲取器就是從中進(jìn)行轉(zhuǎn)換的工具

獲取器通常要定義在model中,那個(gè)表需要獲取器就定義在相應(yīng)的表的model中

立即學(xué)習(xí)PHP免費(fèi)學(xué)習(xí)筆記(深入)”;

?

<?php namespace appindexmodel;  use thinkModel;  class User extends Model{      設(shè)置獲取器     public function getSexAttr($value){          $sex=[             0=>'女', ????????????1=&gt;'男' ????????];  ????????return?$sex[$value]; ????} ????設(shè)置修改器 ????public?function?setSexAttr($value){ ????????$sex=[ ????????????'男'=&gt;1, ????????????'女'=&gt;0 ????????];  ????????return?$sex[$value];  ????}??? }

getSexAttr駝峰命名法是固定的定義格式,中間的Sex一般是我們數(shù)據(jù)庫(kù)中的字段名稱,方法中定義的意思是,如果數(shù)據(jù)庫(kù)中sex字段=0,那么像回事為’女’,

如果數(shù)據(jù)庫(kù)中sex字段=1,那么顯示的值為’男’

在controller中我們使用User模型進(jìn)行數(shù)據(jù)庫(kù)查詢操作

$user?=?User::get(1); echo?$user-&gt;sex;?//?例如輸出“男”

setSexAttr駝峰命名法定義了修改器,同同樣的Sex為字段名稱,在我們修改或者插入新的數(shù)據(jù)時(shí),數(shù)據(jù)會(huì)通過(guò)這個(gè)方法進(jìn)行數(shù)據(jù)的轉(zhuǎn)換,

上邊的方法中,我們?cè)谙驍?shù)據(jù)庫(kù)sex字段插入字段值=’男’時(shí),實(shí)際上數(shù)據(jù)庫(kù)中存的數(shù)據(jù)是’1′

????????$user=new?User(); ?????????$user-&gt;name='名字'; ????????$user-&gt;sex='男'; ????????$user-&gt;age=20; ????????$res=?$user-&gt;save();

相關(guān)推薦:最新的10個(gè)thinkphp視頻教程

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點(diǎn)贊8 分享