鏂囩珷杞嚜Laravel涓撲笟寮€鍙戣€呯ぞ鍖猴紝鍘熸枃閾炬帴锛歨ttps://learnku.com/laravel/t...C#鍏徃宸ヤ綔锛屽叾涓箍娉涗娇鐢ㄦ灇涓撅紝鎴戜範鎯簬鑳藉鎵惧埌瀹冧滑锛屽苟鍦ㄦ壘涓嶅埌瀹冧滑鏃堕敊杩囧畠浠€傛垜灏嗗畠浠敤浜庡彲鑳介€夐」鏈夐檺鐨勪换浣曚簨鐗╋紝渚嬪鏄熸湡鍑犮€佽鍗曠姸鎬侊紝鎴栬€呭涓嬩緥涓殑鐢ㄦ埛绫诲瀷銆備娇鐢ㄦ灇涓炬湁鍑犱釜濂藉锛?鍑忓皯鐢辫浆缃垨閿欒杈撳叆鏁板瓧寮曡捣鐨勯敊璇€?浣垮皢鏉ユ洿鏀瑰€煎彉寰楀鏄撱€?浣夸唬鐮佹洿鏄撲簬闃呰锛岃繖鎰忓懗鐫€閿欒涓嶅お鍙兘娼滃叆鍏朵腑銆?纭繚鍚戝墠鍏煎浣跨敤鏋氫妇鏃讹紝濡傛灉灏嗘潵鏈変汉鏇存敼涓庢垚鍛樺悕绉板搴旂殑鍊硷紝鎮ㄥ彲浠ュぇ澶ч檷浣庝唬鐮佸け璐ョ殑鍙兘鎬с€侾HP鏈韩涓嶆敮鎸佹灇涓撅紝浣嗘槸浣跨敤绫讳腑鐨勫父閲忓緢瀹规槗瀹炵幇绛夋晥鐨勬灇涓俱€傚彟澶栵紝鎴戝垱寤轰簡涓€涓悕涓簂aravel-enum鐨凩aravel鍖呫€傚畠浣挎偍鍙互璁块棶杈呭姪鍑芥暟锛屼緥濡傚垪鍑洪敭鍜屽€笺€佸皢鎻忚堪闄勫姞鍒板€间互鍙婇獙璇侀渶瑕佹灇涓惧€肩殑璇锋眰銆傛湰鎸囧崡浠嬬粛浜嗗畨瑁匧aravel鍖呯殑杩囩▼锛屽寘鎷娇鐢ㄧず渚嬪拰鏈€浣冲疄璺点€傚畨瑁呭寘鍙互閫氳繃composer瀹夎锛屽湪缁堢杩愯浠ヤ笅鍛戒护锛?composerrequirebensampo/laravel-enum濡傛灉浣犱娇鐢ㄧ殑Laravel鐗堟湰浣庝簬5.5锛屼綘闇€瑕佸湪config/app.php涓坊鍔犳湇鍔℃彁渚涜€呫€?BenSampo\Enum\EnumServiceProvider'鍒涘缓绗竴涓灇涓炬垜浠皢涓虹敤鎴风被鍨嬪垱寤轰竴涓灇涓惧湪鎴戜滑鐨勭ず渚嬪簲鐢ㄧ▼搴忎腑锛岀敤鎴峰彲浠ユ槸浠ヤ笅涓夌鐢ㄦ埛绫诲瀷涔嬩竴锛氱鐞嗗憳銆佷粯璐逛細鍛樸€佷細鍛樸€傝鍖呭寘鍚垱寤烘灇涓剧殑鐢熸垚鍣紝鍥犳鍙互杩愯浠ヤ笅鍛戒护鏉ュ垱寤轰竴涓悕涓篣serType鐨勬灇涓撅紝璇ユ枃浠跺皢鍒涘缓鍦ㄢ€渁pp/Enums/UserType.php鈥濅腑phpartisanmake:enumUserType浣犲皢鍦ㄨ繖涓暟閲忓湪鏂囦欢涓彲浠ョ湅鍒拌剼鎵嬫灦銆傚湪鏂囦欢椤堕儴闄勮繎锛屽彲鑳界殑閫夐」鍒楄〃琚畾涔変负甯搁噺銆傝繖浜涘父閲忓€煎瓨鍌ㄥ湪鏁版嵁搴撲腑锛屾墍浠ユ垜鍙戠幇鏈€濂戒娇鐢ㄦ暣鏁帮紝浣嗕娇鐢ㄦ暣鏁版病鏈夐檺鍒讹紝鍙姣忎釜鍊奸兘鏄敮涓€鐨勫嵆鍙€傛绀轰緥涓殑閫夐」濡備笅鎵€绀猴細constAdministrator=0锛沜onst浠樿垂浼氬憳=1;甯搁噺鎴愬憳=2;灏嗗€煎瓨鍌ㄥ湪鏁版嵁搴撲腑鐜板湪鎴戜滑鏈変簡涓€涓叿鏈変竴浜涘彲鑳芥€х殑鏋氫妇锛屽彲浠ュ紑濮嬩娇鐢ㄥ畠浜嗐€傝縼绉荤敤鎴疯〃鏃讹紝鍙互娣诲姞浠ヤ笅鍐呭銆?table->tinyInteger('type')->unsigned()->default(UserType::Member);鐢变簬null涓嶆槸鏋氫妇鐨勯€夐」锛屾垜浠渶瑕佷负鍏惰缃竴涓粯璁ゅ€笺€傚湪姝ょず渚嬩腑锛屾湁蹇呰鍋囪榛樿鎯呭喌涓嬬敤鎴峰皢鏄爣鍑嗘垚鍛樸€傜‘淇濆湪鏂囦欢椤堕儴鍖呭惈姝ゆ灇涓剧殑use璇彞銆備娇鐢ˋpp\Enums\UserType锛涘湪鎿嶄綔涓娇鐢ㄦ灇涓剧敱浜庢垜浠殑鐢ㄦ埛妯″瀷鐜板湪鏈変竴涓被鍨嬪睘鎬э紝鎴戜滑鍙互璁块棶瀹冨苟灏嗗畠涓庢灇涓惧€艰繘琛屾瘮杈冦€傝繖灏辨槸鏋氫妇鐨勭湡姝eソ澶勶紝涔熸槸鎴戝姝ゅ枩娆㈠畠浠殑鍘熷洜銆傛煡鐪嬩笅闈㈢殑浣跨敤绀轰緥鍜屽彲鑳界殑鏇夸唬鏂规銆俰f($user->type===UserType::PaidMember){//鍙槸鍦ㄨ繖閲屽仛涓€浜涗粯璐逛細鍛樼殑浜嬫儏銆倉濡傛灉鎴戜滑涓嶄娇鐢ㄦ灇涓撅紝鎴戜滑鍙互鏈夎繖鏍风殑涓滆タ锛歩f($user->type===1){//杩欎釜1鏄粈涔堟剰鎬濓紵锛?/...}if($user->type==='PaidMember'){//涓轰粈涔堝畠鍙堟槸涓€涓瓧绗︿覆馃槥//...}绗竴涓娇鐢ㄦ灇涓剧殑渚嬪瓙鏄渶瀹规槗闃呰鍜屾渶涓嶅鏄撳嚭閿欍€傚鏋滄垜涓嶅皬蹇冭緭鍏ヤ簡UserType::Paidember锛堟敞鎰忔墦瀛楅敊璇級锛屾垜浼氭敹鍒颁竴鏉″緢濂界殑閿欒娑堟伅锛屽憡璇夋垜浠g爜閿欒锛堣甯搁噺鍊煎湪绫讳腑涓嶅瓨鍦級锛岃€屼笉鏄儚鍓嶄袱涓ず渚嬮偅鏍烽粯榛樺湴澶辫触銆傦紙鍙槸鍒ゆ柇涓嶆弧瓒虫潯浠讹紝杩橀渶瑕佹牴鎹綋鍓嶆潯浠惰鍙ユ煡鐪嬬浉鍏充唬鐮併€傦級鏄剧ず鏋氫妇鍦ㄥ簲鐢ㄧ▼搴忕殑鏌愪簺鐣岄潰涓紝鎴戜滑鍙兘甯屾湜灏嗙敤鎴风被鍨嬫樉绀虹粰鐢ㄦ埛.濡傛灉鎴戜滑鍗曠函鐨勮緭鍑轰粠鏁版嵁搴撲腑鑾峰彇鐨勬暣鏁板€硷紝鏄剧劧鏄揪涓嶅埌鎴戜滑鎯宠鐨勭粨鏋滅殑銆傜浉鍙嶏紝浣跨敤姣忎釜鏋氫妇绫荤户鎵胯嚜鐨勫熀绫荤殑getDescription鏂规硶銆傚湪鍒€鐗囨ā鏉夸笂鐨勬搷浣滃涓嬶細
{{\App\Enums\UserType::getDescription($user->type)}}
杈撳嚭缁撴灉Administrator锛堢鐞嗗憳锛夛紝PaidMember锛堜粯璐逛細鍛橈級锛屼細鍛橈紙浼氬憳锛夈€傛湁鏃堕敭鍚嶆槸澶嶅悎璇嶏紙濡侾aidMember锛夛紝鎴戜滑甯屾湜鏄剧ず涓庨敭鍚嶄笉鍚岀殑鍐呭銆傛垜浠彲浠ュ涓嬭鐩栧綋鍓嶆灇涓剧殑鎻忚堪銆傚湪app/Enums/UserType.php涓細publicstaticfunctiongetDescription(int$value):string{switch($value){caseself::PaidMember:return'Paidmember';浼戞伅;榛樿鍊硷細returnself::getKey($value);}}鐜板湪锛屽綋鎴戜滑璋冪敤getDescription鏃讹紝鎴戜滑灏嗚幏寰桝dministrator銆丳aidmember鎴朚ember銆傝璇佹柟娉曟槸閫氳繃鐢ㄦ埛鐨勮緭鍏ャ€傚湪淇敼鏋氫妇鍊兼椂锛屾渶濂界‘淇濇垜浠彧鎺ュ彈鏈夋晥鍊笺€傛垜浠彲浠ヤ娇鐢ㄥ寘涓殑楠岃瘉瑙勫垯銆傚湪琛ㄤ腑鏄剧ず鏋氫妇鏃讹紝鎴戠粡甯稿皢瀹冧滑鏄剧ず涓篐TML閫夋嫨鍏冪礌銆傝繖鏍疯繕鏄彲浠ヨ鎭舵剰淇敼鐨勶紝浣嗘槸閬垮厤浜嗗悜鏈嶅姟鍣ㄤ紶閫掗敊璇€肩殑鎯呭喌銆傜户缁垜浠殑鐢ㄦ埛浣跨敤绀轰緥锛岃鎴戜滑鍦ㄧ敤鎴锋帶鍒跺櫒涓鐞嗕慨鏀瑰悗鐨勫€硷細publicfunctionstore(Request$request){$this->validate($request,['type'=>['required',newEnumValue(UserType锛氾細鐝骇锛塢锛宂锛?//淇濆瓨鐢ㄦ埛绛?..}璇疯浣忓寘鎷灇涓剧殑use璇彞鍜孍numValue鐨勮鍒欍€備娇鐢ˋpp\Enums\UserType锛涗娇鐢˙enSampo\Enum\Rules\EnumValue锛汦nd褰撶劧锛岃繖涓嶆槸鏋氫妇鎵€鑳藉畬鎴愮殑鍏ㄩ儴鑼冨洿銆備絾瀹冩兜鐩栦簡90%鐨勭敤渚嬨€傚€煎緱鏌ョ湅鏋氫妇绫荤殑瀹屾暣鏂规硶鍒楄〃锛岀湅鐪嬫偍杩樿兘瀹炵幇浠€涔堛€?/p>