下面由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=>'男' ????????]; ????????return?$sex[$value]; ????} ????設(shè)置修改器 ????public?function?setSexAttr($value){ ????????$sex=[ ????????????'男'=>1, ????????????'女'=>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->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->name='名字'; ????????$user->sex='男'; ????????$user->age=20; ????????$res=?$user->save();
相關(guān)推薦:最新的10個(gè)thinkphp視頻教程